Saltar al contenido principal

Obtener información del usuario dentro de una organización

Dónde usarlo

Esto se utiliza normalmente en la página de perfil de usuario donde los usuarios necesitan mostrar la información de su organización.

Información del usuario de la organización

Cómo implementarlo

Hay dos formas de obtener la información del usuario dentro de una organización.

Decodificar el token de ID

El token de ID (ID token) es un JWT estándar que contiene información del perfil del usuario y reclamos relacionados con la organización. Llama al método del SDK decodeIdToken() para obtener un 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"
// ...
}

Sin embargo, el token de ID solo se emite durante la autenticación y puede quedar desactualizado si el perfil del usuario cambia después. Para obtener la información más actualizada, utiliza el segundo enfoque a continuación, o llama a clearAllTokens() y reinicia un flujo de autenticación para obtener un token de ID nuevo.

await logtoClient.clearAllTokens();
logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
prompt: 'consent',
});

Si la sesión sigue siendo válida, la llamada a signIn redirigirá de vuelta a tu aplicación sin requerir credenciales. Desde la perspectiva del usuario, la aplicación simplemente se actualiza y se emite un nuevo token de ID en segundo plano.

Obtener información del usuario desde el endpoint /oidc/me

También puedes solicitar /oidc/me para obtener información del usuario en tiempo real en el contexto de la organización. Llama al método del SDK fetchUserInfo().

Soporte para token opaco:

Si estás utilizando un token opaco (emitido cuando no se especifica un recurso de API), aún puedes recuperar la información de membresía de la organización a través del endpoint userinfo. Cuando solicitas el alcance urn:logto:scope:organizations, la respuesta incluirá organizations y otros reclamos relacionados con la organización.

Ten en cuenta que los tokens opacos no pueden usarse como tokens de organización para acceder a recursos específicos de la organización. Consulta Token opaco y organizaciones para más detalles.