Obter informações do usuário dentro de uma organização
Onde usar
Isso geralmente é usado na página de perfil do usuário, onde os usuários precisam exibir suas informações de organização.
Como implementar
Existem duas maneiras de obter informações do usuário dentro de uma organização.
Decodificar o token de ID (ID token)
O token de ID (ID token) é um JWT padrão que contém informações do perfil do usuário e reivindicações relacionadas à organização. Chame o método do SDK decodeIdToken() para obter um objeto JSON como este:
{
"sub": "aauqbb63vg4s",
"name": "John Doe",
"picture": "https://example.com/johndoe.png",
"email": "johndoe@example.com",
// ...
"organizations": [
"organization-id-1",
"organization-id-2",
"organization-id-3"
// ...
],
"organization_roles": [
"organization-id-1:admin",
"organization-id-2:member",
"organization-id-3:viewer"
// ...
],
"aud": "admin-console"
// ...
}
No entanto, o token de ID (ID token) só é emitido durante a autenticação e pode ficar desatualizado se o perfil do usuário mudar depois disso.
Para obter as informações mais atualizadas, use a segunda abordagem abaixo ou chame clearAllTokens() e reinicie um fluxo de autenticação para obter um novo token de ID.
await logtoClient.clearAllTokens();
logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
prompt: 'consent',
});
Se a sessão ainda for válida, a chamada signIn irá redirecionar de volta para seu aplicativo sem exigir credenciais. Do ponto de vista do usuário, o aplicativo simplesmente é atualizado e um novo token de ID é emitido nos bastidores.
Buscar informações do usuário no endpoint /oidc/me
Você também pode requisitar /oidc/me para obter informações em tempo real do usuário no contexto da organização. Chame o método do SDK fetchUserInfo().
Se você estiver usando um token opaco (emitido quando nenhum recurso de API é especificado), ainda poderá recuperar informações de associação à organização pelo endpoint userinfo. Ao solicitar o escopo urn:logto:scope:organizations, a resposta incluirá organizations e outras reivindicações relacionadas à organização.
Observe que tokens opacos não podem ser usados como tokens de organização para acessar recursos específicos da organização. Veja Token opaco e organizações para mais detalhes.