簡介
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