Introdução
O Usher é um provedor de identidade: ele cuida do início de sessão das pessoas nos seus apps, mantém as contas delas seguras e informa ao seu app quem elas são. Ele faz tudo isso com OpenID Connect e OAuth 2.1, então funciona com as bibliotecas que você já usa.
O que o Usher faz
Em inglês, usher é o lanterninha, quem recebe o público na porta. Ele tem duas tarefas: conferir o seu ingresso e levar você até o seu lugar. O Usher faz as mesmas duas tarefas para o seu app:
- Autenticação. As pessoas provam quem são no Lobby, a página de início de sessão hospedada pelo Usher, com uma chave-senha, um código por e-mail, um link mágico, uma conta social ou uma senha.
- Autorização. O seu app recebe tokens que dizem quem é a pessoa e o que ela concordou em compartilhar, e a sua API pode verificá-los.
As peças
| Peça | O que é |
|---|---|
| O Lobby | A página de início de sessão hospedada. Ela sempre mostra o nome do app para onde a pessoa vai. |
| Conta Usher | O que cada pessoa tem: o e-mail, as chaves-senha, os segundos fatores e os dispositivos com sessão iniciada. |
| Usher Console | Onde você cria projetos e ambientes, registra aplicações e gerencia usuários. |
| SDK e componentes | @usher/nextjs, com <SignIn /> e <UserButton />. Chega com o SDK. |
Como ele se encaixa no seu app
Cada ambiente que você cria é o seu próprio emissor OpenID Connect, em um endereço só dele:
https://<handle>.usherid.comO seu app envia as pessoas a esse emissor para iniciar sessão e as recebe de volta com um código, que ele troca por tokens. Esse é o fluxo padrão de código de autorização com PKCE, e cada etapa dele está descrita no documento de descoberta do emissor:
https://<handle>.usherid.com/.well-known/openid-configuration