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 da organização.
Como implementar
Existem duas maneiras de obter informações do usuário dentro de uma organização.
1. 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": "[email protected]",
// ...
"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) é emitido apenas durante a autenticação e pode ficar desatualizado se o perfil do usuário for alterado posteriormente.
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.
2. 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().