Einführung
Usher ist ein Identity Provider: Er meldet Menschen bei deinen Apps an, schützt ihre Konten und sagt deiner App, wer sie sind. All das erledigt Usher mit OpenID Connect und OAuth 2.1 – es funktioniert also mit den Bibliotheken, die du schon nutzt.
Was Usher tut
Im Englischen heißt der Platzanweiser im Theater „Usher“, und er hat an der Tür zwei Aufgaben: Er prüft deine Eintrittskarte, und er bringt dich zu deinem Platz. Usher erledigt dieselben zwei Aufgaben für deine App:
- Authentifizierung. Menschen weisen in der Lobby, der von Usher gehosteten Anmeldeseite, nach, wer sie sind – mit einem Passkey, einem Code per E-Mail, einem Magic Link, per Social Login oder mit einem Passwort.
- Autorisierung. Deine App erhält Tokens, die sagen, wer die Person ist und was sie freigegeben hat, und deine API kann diese Tokens prüfen.
Die Bausteine
| Baustein | Beschreibung |
|---|---|
| Die Lobby | Die gehostete Anmeldeseite. Sie nennt immer die App, zu der es weitergeht. |
| Usher-Konto | Was eine Person hat: ihre E-Mail-Adresse, Passkeys, zweiten Faktoren und angemeldeten Geräte. |
| Usher Console | Hier legst du Projekte und Umgebungen an, registrierst Anwendungen und verwaltest Nutzer. |
| SDK und Komponenten | @usher/nextjs, mit <SignIn /> und <UserButton />. Kommt mit dem SDK. |
So fügt sich Usher in deine App ein
Jede Umgebung, die du anlegst, ist ein eigener OpenID-Connect-Issuer unter einer eigenen Adresse:
https://<handle>.usherid.comDeine App schickt Menschen zur Anmeldung zu diesem Issuer und bekommt sie mit einem Code zurück, den sie gegen Tokens tauscht. Das ist der standardmäßige Autorisierungscode-Flow mit PKCE, und jeder seiner Schritte ist im Discovery-Dokument des Issuers beschrieben:
https://<handle>.usherid.com/.well-known/openid-configuration