簡介
Usher 是一個身分提供者:它讓使用者登入你的 App、保護他們帳號的安全,並告訴你的 App 他們是誰。這一切都透過 OpenID Connect 與 OAuth 2.1 完成,因此能搭配你已經在用的程式庫。
Usher 做什麼
帶位員(usher)在門口有兩項工作:查驗你的門票,再帶你入座。Usher 為你的 App 做的也是這兩件事:
- 驗證身分:使用者在 Lobby(Usher 代管的登入頁面)以通行密鑰、電子郵件驗證碼、魔術連結、社群帳號或密碼證明自己的身分。
- 授權:你的 App 會收到權杖,說明使用者是誰,以及他們同意分享哪些資訊,你的 API 也能檢查這些權杖。
組成部分
| 部分 | 說明 |
|---|---|
| Lobby | 代管的登入頁面。它一定會指出使用者要前往的 App。 |
| Usher 帳號 | 使用者擁有的帳號:包括電子郵件、通行密鑰、雙重認證和已登入的裝置。 |
| Usher Console | 你在這裡建立專案與環境、註冊應用程式,以及管理使用者。 |
| SDK 與元件 | @usher/nextjs,提供 <SignIn /> 與 <UserButton />。將隨 SDK 推出。 |
如何融入你的 App
你建立的每個環境,都是一個擁有專屬位址的 OpenID Connect 簽發者:
簽發者
https://<handle>.usherid.com你的 App 將使用者送往該簽發者登入,使用者回來時會帶著一組授權碼,由 App 用它換取權杖。這就是標準的 PKCE 授權碼流程,而且每一步都記載在簽發者的探索文件中:
探索文件
https://<handle>.usherid.com/.well-known/openid-configuration