You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -18,13 +18,13 @@ When a user loses permissions:
18
18
19
19
If you need faster reactions, implement your own signal that tells clients to refresh their tokens.
20
20
21
-
#### Enlarged permissions
21
+
#### Enlarged permissions\{#enlarged-permissions}
22
22
23
23
{props.type==="global"&& <p>For global API resources, when a user gains permissions, enlarged permissions will NOT show up through refresh. The client must perform a new OAuth authorization flow to obtain a token that includes the new scopes. This can happen silently if the user has an active Logto session.</p>}
24
24
25
25
{props.type==="organization"&& <p>For organization tokens, when a user gains permissions, enlarged permissions will show up on the next issuance (refresh or token request). A new token is still required, but no full re-auth is needed unless the new scopes exceed the original request set.</p>}
Benutzerberechtigungen können sich jederzeit ändern. Da Logto JWTs für rollenbasierte Zugangskontrolle (RBAC) ausstellt, erscheinen Berechtigungsänderungen nur in neu ausgestellten Tokens und ändern niemals bestehende JWTs.
4
+
5
+
:::info Berechtigungs-Subset-Regel
6
+
Ein Zugangstoken (Access token) kann nur Berechtigungen (Scopes) enthalten, die im ursprünglichen OAuth-Autorisierungsablauf angefordert wurden.
7
+
Selbst wenn ein Benutzer neue Berechtigungen erhält, kann das später ausgestellte Token nur eine Teilmenge der ursprünglich angeforderten Berechtigungen enthalten.
8
+
Um auf neu gewährte Berechtigungen zuzugreifen, die nicht Teil der ursprünglichen Anfrage waren, muss der Client einen neuen Autorisierungsablauf durchführen.
{props.type==="global"&& <p>Für globale API-Ressourcen werden erweiterte Berechtigungen, wenn ein Benutzer neue Berechtigungen erhält, NICHT durch Aktualisierung (Refresh) sichtbar. Der Client muss einen neuen OAuth-Autorisierungsablauf durchführen, um ein Token zu erhalten, das die neuen Berechtigungen enthält. Dies kann still erfolgen, wenn der Benutzer eine aktive Logto-Sitzung hat.</p>}
24
+
25
+
{props.type==="organization"&& <p>Für Organisationstokens werden erweiterte Berechtigungen, wenn ein Benutzer neue Berechtigungen erhält, bei der nächsten Ausstellung (Refresh oder Token-Anfrage) sichtbar. Ein neues Token ist weiterhin erforderlich, aber eine vollständige erneute Authentifizierung ist nicht nötig, es sei denn, die neuen Berechtigungen überschreiten die ursprünglich angeforderte Menge.</p>}
26
+
27
+
#### Empfehlungen \{#recommendations}
28
+
29
+
- Validiere die Berechtigungen bei jedem API-Aufruf.
30
+
- Halte die Token-Gültigkeit kurz.
31
+
- Füge optionale Benachrichtigungen hinzu, wenn du eine sofortige Verbreitung von Berechtigungsänderungen benötigst.
@@ -30,8 +31,8 @@ Logto ermöglicht es dir, diese APIs mit OAuth 2.1 in Kombination mit flexibler,
30
31
## So funktioniert es in Logto \{#how-it-works-in-logto}
31
32
32
33
-**API-Ressourcen und Berechtigungen werden global registriert:** Jede API, die du schützen möchtest, wird mit einem eindeutigen Ressourcenindikator (URI) und einem Satz von Berechtigungen (Scopes) definiert, die den Zugriff steuern.
33
-
-**Der Zugriff wird durch globale Rollen gesteuert:** Du kannst Berechtigungen Rollen zuweisen, die dann Benutzern oder Clients zugeordnet werden.
34
-
-**Getrennt von organisationsbezogenen Berechtigungen:** Globale API-Ressourcen haben keinen Organisationskontext. Sie können jedoch zusammen mit Organisationsrollen verwendet werden, um bei Bedarf eine zusätzliche Kontextebene bereitzustellen. Um organisationsbezogene APIs zu schützen, siehe [Organisationsbezogene API-Ressourcen schützen](/authorization/organization-level-api-resources).
34
+
-**Der Zugriff wird durch globale Rollen gesteuert:** Du kannst Berechtigungen Rollen zuweisen, die dann Benutzern oder Clients zugewiesen werden.
35
+
-**Getrennt von organisationsbezogenen Berechtigungen:** Globale API-Ressourcen haben keinen Organisationskontext. Sie können jedoch in Verbindung mit Organisationsrollen verwendet werden, um bei Bedarf eine zusätzliche Kontextebene bereitzustellen. Um organisationsbezogene APIs zu schützen, siehe [Organisationsbezogene API-Ressourcen schützen](/authorization/organization-level-api-resources).
### Autorisierungsfluss: Authentifizierung und Absicherung deiner API \{#authorization-flow-authenticating-and-securing-your-api}
62
63
63
-
Der folgende Ablauf gilt sowohl für interaktive Benutzer-Authentifizierung (Browser/App) als auch für Backend-Maschine-zu-Maschine (M2M)-Szenarien.
64
+
Der folgende Ablauf gilt sowohl für interaktive Benutzer-Authentifizierung (Browser / App) als auch für Backend-Maschine-zu-Maschine (M2M)-Szenarien.
64
65
65
-
Beachte, dass der Ablauf nicht alle Details zu erforderlichen Parametern oder Headern enthält, sondern sich auf die wichtigsten Schritte konzentriert. Lies weiter, um zu sehen, wie der Ablauf in der Praxis funktioniert.
66
+
Beachte, dass der Ablauf nicht alle erforderlichen Parameter oder Header im Detail enthält, sondern sich auf die wichtigsten Schritte konzentriert. Lies weiter, um zu sehen, wie der Ablauf in der Praxis funktioniert.
66
67
67
68
```mermaid
68
69
sequenceDiagram
@@ -96,13 +97,13 @@ sequenceDiagram
96
97
end
97
98
```
98
99
99
-
_Benutzer-Authentifizierung = Browser/App. M2M = Backend-Dienst oder Skript mit Client-Credentials._
100
+
_Benutzer-Authentifizierung = Browser / App. M2M = Backend-Dienst oder Skript mit Client-Credentials._
100
101
101
102
:::note
102
103
Der `resource`-Parameter muss exakt mit dem in Logto registrierten API-Identifier (Ressourcenindikator) übereinstimmen.
Beim Konfigurieren deines OAuth 2.0-Clients oder beim Initialisieren des Authorization Code Flows stelle sicher, dass du den `resource`-Parameter und die gewünschten Scopes in der Autorisierungsanfrage einfügst.
143
+
Beim Konfigurieren deines OAuth 2.0-Clients oder beim Initialisieren des Authorization Code Flows stelle sicher, dass du den `resource`-Parameter und die gewünschten Scopes in der Autorisierungsanfrage einschließt.
143
144
144
-
Einige Bibliotheken unterstützen den `resource`-Parameter nicht nativ, erlauben aber in der Regel das Hinzufügen zusätzlicher Parameter zur Autorisierungsanfrage. Prüfe die Dokumentation deiner Bibliothek für Details.
145
+
Einige Bibliotheken unterstützen den `resource`-Parameter nicht nativ, erlauben aber in der Regel das Übergeben zusätzlicher Parameter in der Autorisierungsanfrage. Prüfe die Dokumentation deiner Bibliothek für Details.
145
146
146
147
Hier ein nicht-normatives Beispiel für die Autorisierungsanfrage mit den Parametern `resource` und `scope`:
Nach erfolgreicher Authentifizierung erhältst du einen Authorization Code. Tausche diesen Code gegen ein Zugangstoken, indem du eine POST-Anfrage an Logtos `/oidc/token`-Endpunkt stellst und den `resource`-Parameter im Anfragekörper angibst.
151
+
Nach erfolgreicher Authentifizierung erhältst du einen Authorization Code. Tausche diesen Code gegen ein Zugangstoken aus, indem du eine POST-Anfrage an Logtos `/oidc/token`-Endpunkt stellst und den `resource`-Parameter im Request-Body einschließt.
151
152
152
-
Hier ein nicht-normatives Beispiel für die Token-Anfrage mit dem Grant-Typ authorization_code:
153
+
Hier ein nicht-normatives Beispiel für die Token-Anfrage mit dem Grant-Typ Authorization Code:
Du kannst auch den Grant-Typ `refresh_token` verwenden, um ohne Benutzerinteraktion ein neues Zugangstoken zu erhalten, solange der `resource`-Parameter in der Anfrage enthalten ist.
157
+
Du kannst auch den Grant-Typ `refresh_token` verwenden, um ein neues Zugangstoken ohne Benutzerinteraktion zu erhalten, solange der `resource`-Parameter in der Anfrage enthalten ist.
157
158
158
-
Hier ein nicht-normatives Beispiel für die Token-Anfrage mit dem Grant-Typ refresh_token:
159
+
Hier ein nicht-normatives Beispiel für die Token-Anfrage mit dem Grant-Typ Auffrischungstoken:
0 commit comments