Aller au contenu principal

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.

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

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 relancez un flux d’authentification pour obtenir un nouveau jeton d’identifiant.

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 nécessiter de saisie d’identifiants. Du point de vue de l’utilisateur, l’application se rafraîchit simplement et un nouveau jeton d’identifiant 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().

Prise en charge du jeton opaque:

Si vous utilisez un jeton opaque (émis lorsqu’aucune ressource API n’est spécifiée), vous pouvez tout de même récupérer les informations d’appartenance à l’organisation via l’endpoint userinfo. Lorsque vous demandez la portée urn:logto:scope:organizations, la réponse inclura organizations et d’autres revendications liées à l’organisation.

Notez que les jetons opaques ne peuvent pas être utilisés comme jetons d’organisation pour accéder à des ressources spécifiques à l’organisation. Voir Jeton opaque et organisations pour plus de détails.