Introductie
Usher is een identiteitsprovider: het laat mensen inloggen bij je apps, houdt hun accounts veilig en vertelt je app wie ze zijn. Dat doet het allemaal met OpenID Connect en OAuth 2.1, dus het werkt met de bibliotheken die je al gebruikt.
Wat Usher doet
Een plaatsaanwijzer (in het Engels: usher) heeft bij de deur twee taken. Die controleert je kaartje en brengt je naar je plaats. Usher doet dezelfde twee taken voor je app:
- Authenticatie. Mensen laten in de Lobby, de gehoste inlogpagina van Usher, zien wie ze zijn: met een toegangssleutel, een code per e-mail, een magic link, een sociaal account of een wachtwoord.
- Autorisatie. Je app ontvangt tokens die zeggen wie iemand is en wat diegene heeft toegestaan te delen, en je API kan ze controleren.
De onderdelen
| Onderdeel | Wat het is |
|---|---|
| De Lobby | De gehoste inlogpagina. Noemt altijd de app waar iemand naartoe gaat. |
| Usher-account | Wat iemand heeft: e-mailadres, toegangssleutels, tweede factoren en ingelogde apparaten. |
| Usher Console | Waar je projecten en omgevingen aanmaakt, applicaties registreert en gebruikers beheert. |
| SDK en componenten | @usher/nextjs, met <SignIn /> en <UserButton />. Komt met de SDK. |
Hoe het in je app past
Elke omgeving die je aanmaakt, is een eigen OpenID Connect-issuer, op een eigen adres:
Issuer
https://<handle>.usherid.comJe app stuurt mensen naar die issuer om in te loggen, en krijgt ze terug met een code die de app inruilt voor tokens. Dat is de standaard autorisatiecodeflow met PKCE, en elke stap ervan staat beschreven in het discovery-document van de issuer:
Discovery-document
https://<handle>.usherid.com/.well-known/openid-configurationWaar je begint
Snelstart: Next.jsVoeg inloggen toe aan een Next.js-app met de App Router.
Snelstart: elke OIDC-bibliotheekDe instellingen die elke OpenID Connect-client nodig heeft.
ConceptenWerkruimten, projecten, omgevingen, issuers en tokens.
BeveiligingHoe omgevingen gescheiden blijven en hoe geheimen worden verzegeld.