Obter informações do usuário dentro de uma organização
Onde usar
Isso geralmente é utilizado na página de perfil do usuário, onde é necessário exibir as informações da 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 for alterado posteriormente.
Para obter as informações mais atualizadas, utilize 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 do usuário em tempo real no contexto da organização. Chame o método do SDK fetchUserInfo().