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.