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.