Zum Hauptinhalt springen

Benutzerinformationen innerhalb einer Organisation abrufen

Wo wird es verwendet

Dies wird üblicherweise auf der Benutzerprofilseite verwendet, auf der Benutzer ihre Organisationsinformationen anzeigen müssen.

Organisation Benutzerinfo

Wie wird es implementiert

Es gibt zwei Möglichkeiten, Benutzerinformationen innerhalb einer Organisation abzurufen.

ID-Token decodieren

Das ID-Token (ID token) ist ein standardisiertes JWT, das 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": "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"
// ...
}

Das 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 Authentifizierungsablauf neu, um ein frisches 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, leitet der signIn-Aufruf ohne erneute Eingabe von Zugangsdaten zurück zu deiner App. Aus Sicht des Benutzers wird die App einfach aktualisiert und im Hintergrund ein neues ID-Token (ID token) ausgestellt.

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.

Opaker Token Support:

Wenn du ein opakes Token verwendest (ausgestellt, wenn keine API-Ressource angegeben ist), kannst du trotzdem Organisationsmitgliedschaftsinformationen über den userinfo-Endpunkt abrufen. Wenn du die Berechtigung (Scope) urn:logto:scope:organizations anforderst, enthält die Antwort organizations und andere organisationsbezogene Ansprüche (Claims).

Beachte, dass opake Tokens nicht als Organisationstoken für den Zugriff auf organisationsspezifische Ressourcen verwendet werden können. Siehe Opaker Token und Organisationen für weitere Details.