Aller au contenu principal

Obtenir les informations utilisateur au sein d'une organisation

Où l'utiliser

Ceci est généralement utilisé sur la page de profil utilisateur où les utilisateurs doivent afficher les informations de leur organisation.

Informations utilisateur de l'organisation

Comment l’implémenter

Il existe deux façons d'obtenir les informations utilisateur au sein d'une organisation.

Décoder le jeton d’identifiant (ID token)

Le jeton d’identifiant (ID token) est un JWT standard qui contient les informations de profil utilisateur et les revendications liées à l’organisation. Appelez la méthode SDK decodeIdToken() pour obtenir un objet JSON comme celui-ci :

{
"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"
// ...
}

Cependant, le jeton d’identifiant (ID token) n’est émis que lors de l’authentification et peut devenir obsolète si le profil utilisateur change par la suite. Pour obtenir les informations les plus à jour, utilisez la seconde approche ci-dessous, ou appelez clearAllTokens() et réinitialisez un flux d’authentification pour obtenir un nouveau jeton d’identifiant (ID token).

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

Si la session est toujours valide, l’appel à signIn redirigera vers votre application sans demander de nouvelles informations d’identification. Du point de vue de l’utilisateur, l’application se rafraîchit simplement et un nouveau jeton d’identifiant (ID token) est émis en arrière-plan.

Récupérer les informations utilisateur depuis l’endpoint /oidc/me

Vous pouvez également interroger /oidc/me pour obtenir en temps réel les informations utilisateur dans le contexte de l’organisation. Appelez la méthode SDK fetchUserInfo().