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.