Benutzerinformationen innerhalb einer Organisation abrufen
Wo wird es verwendet
Dies wird üblicherweise auf der Benutzerprofilseite verwendet, auf der Benutzer ihre Organisationsinformationen anzeigen müssen.
Wie wird es implementiert
Es gibt zwei Möglichkeiten, Benutzerinformationen innerhalb einer Organisation abzurufen.
1. Den ID-Token dekodieren
Der ID-Token (ID token) ist ein standardisierter JWT, der Benutzerprofilinformationen und organisationsbezogene Ansprüche (Claims) enthält. Rufe die SDK-Methode decodeIdToken() auf, um ein JSON-Objekt wie dieses zu erhalten:
{
"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"
// ...
}
Der ID-Token (ID token) wird jedoch nur während der Authentifizierung ausgestellt und kann veraltet sein, wenn sich das Benutzerprofil danach ändert.
Für die aktuellsten Informationen verwende die zweite Methode unten oder rufe clearAllTokens() auf und starte einen Authentifizierungsfluss neu, um einen frischen ID-Token (ID token) zu erhalten.
await logtoClient.clearAllTokens();
logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
prompt: 'consent',
});
Wenn die Sitzung noch gültig ist, wird der signIn-Aufruf ohne erneute Eingabe von Zugangsdaten zurück zu deiner App umleiten. Aus Sicht des Benutzers wird die App einfach aktualisiert und ein neuer ID-Token (ID token) wird im Hintergrund ausgestellt.
2. Benutzerinformationen vom /oidc/me-Endpunkt abrufen
Du kannst auch /oidc/me anfragen, um Benutzerinformationen in Echtzeit im Organisationskontext zu erhalten. Rufe dazu die SDK-Methode fetchUserInfo() auf.