Pular para o conteúdo principal

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.

Informações do usuário 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 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().

Suporte a token opaco:

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.