Obtenir les informations utilisateur au sein d'une organisation
Où l'utiliser
Ceci est généralement utilisé dans la page de profil utilisateur où les utilisateurs doivent afficher les informations de leur organisation.
Comment l’implémenter
Il existe deux façons d'obtenir les informations utilisateur au sein d'une organisation.
1. 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": "[email protected]",
// ...
"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 méthode 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 d’identifiants. 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.
2. Récupérer les informations utilisateur depuis l’endpoint /oidc/me
Vous pouvez également faire une requête vers /oidc/me pour obtenir en temps réel les informations utilisateur dans le contexte de l’organisation. Appelez la méthode SDK fetchUserInfo().