Introduction
Usher est un fournisseur d’identité : il connecte les utilisateurs à vos apps, protège leurs comptes et indique à votre app qui ils sont. Il fait tout cela avec OpenID Connect et OAuth 2.1, et fonctionne donc avec les bibliothèques que vous utilisez déjà.
Ce que fait Usher
À l’entrée d’une salle, un placeur fait deux choses. Il contrôle votre billet, puis il vous conduit à votre place. Usher fait ces deux mêmes choses pour votre app :
- L’authentification. Les utilisateurs prouvent qui ils sont dans le Lobby, la page de connexion hébergée par Usher, avec une clé d’accès, un code envoyé par courriel, un lien magique, un compte social ou un mot de passe.
- L’autorisation. Votre app reçoit des jetons qui indiquent qui est la personne et ce qu’elle a accepté de partager, et votre API peut les vérifier.
Les éléments
| Élément | Ce que c’est |
|---|---|
| Le Lobby | La page de connexion hébergée. Elle nomme toujours l’app vers laquelle va la personne. |
| Compte Usher | Ce que possède une personne : son adresse courriel, ses clés d’accès, ses seconds facteurs et ses appareils connectés. |
| Usher Console | L’endroit où vous créez des projets et des environnements, enregistrez des applications et gérez les utilisateurs. |
| SDK et composants | @usher/nextjs, avec <SignIn /> et <UserButton />. Disponible avec le SDK. |
Comment il s’intègre à votre app
Chaque environnement que vous créez est son propre émetteur OpenID Connect, à une adresse qui lui est propre :
https://<handle>.usherid.comVotre app envoie les utilisateurs vers cet émetteur pour qu’ils se connectent, et les récupère avec un code qu’elle échange contre des jetons. C’est le flux standard de code d’autorisation avec PKCE, et chacune de ses étapes est décrite par le document de découverte de l’émetteur :
https://<handle>.usherid.com/.well-known/openid-configuration