Skip to Content

Erweitertes OAuth 2.0 API

Auris unterstützt mehrere erweiterte OAuth 2.0- und OpenID Connect-Erweiterungen über den Standard-Autorisierungscode-Flow mit PKCE hinaus. Diese Funktionen sind für Enterprise- und spezielle Authentifizierungsszenarien konzipiert:

  • Device Authorization (RFC 8628) — für eingabebeschränkte Geräte wie CLIs, Smart-TVs und IoT
  • Token Exchange (RFC 8693) — für Impersonierung und Delegation zwischen Diensten
  • DPoP (RFC 9449) — für Sender-gebundene Tokens, die resistent gegen Token-Diebstahl sind
  • CIBA (Client-Initiated Backchannel Authentication) — für Authentifizierung, die von einem Backend-Dienst ohne Browser-Interaktion eingeleitet wird
  • Adaptives MFA / Risikobewertung — für dynamische Step-up-Authentifizierung basierend auf Risikobewertung

Alle erweiterten OAuth-Funktionen müssen pro Anwendung in der Auris-Konsole unter Anwendungen > [App] > Erweitertes OAuth aktiviert werden.

Device Authorization (RFC 8628)

Der Device Authorization Grant ermöglicht Geräten, die keinen Browser anzeigen können (CLIs, Smart-TVs, IoT-Geräte, Kioske), Benutzer zu authentifizieren. Das Gerät zeigt einen kurzen Benutzercode und eine Verifizierungs-URL an; der Benutzer besucht die URL auf einem separaten Gerät (Telefon, Laptop) und gibt den Code zur Genehmigung ein.

POST/api/oauth/device-authorize

Fordert ein Device-Code- und User-Code-Paar an. Das Gerät zeigt dem Benutzer den user_code und die verification_uri an und fragt dann den Token-Endpunkt ab, bis der Benutzer genehmigt oder der Code abläuft.

Anfrage-Body

{ "client_id": "cli-app-client-id", "scope": "openid profile email" }
FeldErforderlichBeschreibung
client_idJaDie Client-ID der Anwendung. Die Anwendung muss Device Flow aktiviert haben.
scopeNeinLeerzeichen-getrennte Liste der angeforderten Scopes.

Erfolgsantwort

{ "ok": true, "data": { "device_code": "GmRhmhcxhwAzkoEqiMEg_DnyEysNkuNhszIySk9eS", "user_code": "WDJB-MJHT", "verification_uri": "https://api.altovar.net/hosted/device", "verification_uri_complete": "https://api.altovar.net/hosted/device?user_code=WDJB-MJHT", "expires_in": 1800, "interval": 5 } }
FeldBeschreibung
device_codeEin langer, undurchsichtiger Code, den das Gerät zum Abfragen des Token-Endpunkts verwendet. Wird dem Benutzer nie angezeigt. Wird als SHA-256-Hash auf dem Server gespeichert.
user_codeEin kurzer, menschenlesbarer 8-stelliger Code (Format: XXXX-XXXX), der dem Benutzer angezeigt wird.
verification_uriDie URL, die der Benutzer auf einem separaten Gerät besucht, um den Code einzugeben.
verification_uri_completeDie URL mit vorausgefülltem Code. Nützlich für QR-Codes.
expires_inSekunden bis zum Ablauf des Device-Codes (Standard: 30 Minuten).
intervalMindestabstand in Sekunden zwischen Abfrageanfragen.

Fehlercodes

CodeHTTPBeschreibung
DEVICE_FLOW_DISABLED400Device Authorization ist für diese Anwendung nicht aktiviert
VALIDATION_ERROR400client_id fehlt

Token-Abfrage

Nach der Anzeige des Benutzercodes fragt das Gerät den Token-Endpunkt im angegebenen Intervall ab:

Anfrage-Body

{ "grant_type": "urn:ietf:params:oauth:grant-type:device_code", "device_code": "GmRhmhcxhwAzkoEqiMEg_DnyEysNkuNhszIySk9eS", "client_id": "cli-app-client-id" }

Ausstehende Antwort (Benutzer hat noch nicht genehmigt)

{ "ok": false, "error": { "code": "AUTHORIZATION_PENDING", "message": "The user has not yet approved the request. Continue polling." } }

Verlangsamungsantwort (zu häufige Abfrage)

{ "ok": false, "error": { "code": "SLOW_DOWN", "message": "Polling too frequently. Increase interval by 5 seconds." } }

Erfolgsantwort (Benutzer genehmigt)

{ "ok": true, "data": { "accessToken": "eyJhbGciOiJSUzI1NiJ9...", "refreshToken": "rt_...", "expiresIn": 900, "tokenType": "Bearer" } }

Fehlercodes während der Abfrage

CodeHTTPBeschreibung
AUTHORIZATION_PENDING400Benutzer hat noch nicht genehmigt — weiter abfragen
SLOW_DOWN400Abfrage zu häufig — Intervall erhöhen
EXPIRED_TOKEN400Der Device-Code ist abgelaufen. Einen neuen Flow starten.
ACCESS_DENIED400Der Benutzer hat die Autorisierungsanfrage abgelehnt

Die öffentliche Verifizierungsseite unter verification_uri zeigt das gehostete Login-Formular, das für die Gerätegenehmigung vorkonfiguriert ist. Der Benutzer gibt den Code ein, authentifiziert sich (Passwort, SSO, Magic Link usw.) und genehmigt. Die nächste Abfrage des Geräts gibt Tokens zurück.

Benutzerverifizierungsseite

Auris stellt eine gehostete Verifizierungsseite unter /hosted/device bereit, auf der der Benutzer:

  1. Den 8-stelligen Benutzercode eingibt (oder über verification_uri_complete mit vorausgefülltem Code ankommt)
  2. Sich mit einer beliebigen konfigurierten Methode authentifiziert (Passwort, SSO, Magic Link, 2FA)
  3. Die Gerät-Autorisierungsanfrage genehmigt
  4. Einen Bestätigungsbildschirm sieht und den Tab schließen kann

Token Exchange (RFC 8693)

Token Exchange ermöglicht es einem Dienst, ein Token gegen ein anderes auszutauschen — entweder zur Impersonierung eines Benutzers (als dieser handeln) oder zur Delegation des Zugriffs (im Namen von ihm handeln, während der ursprüngliche Betreff erhalten bleibt). Dies ist für Microservice-Architekturen unerlässlich, bei denen ein API-Gateway nachgelagerte Dienste mit unterschiedlichen Token-Scopes aufrufen muss.

POST/api/auth/tokenRequires: impersonate:users or delegate:tokens

Tauscht ein Token mit dem Token-Exchange-Grant-Typ aus. Der Aufrufer muss ein gültiges Subject-Token vorlegen und den Austauschtyp angeben.

Anfrage-Body — Impersonierung

Bei der Impersonierung wird das Subject vollständig ersetzt. Das resultierende Token hat den Zielbenutzer als sub-Claim. Verwende dies, wenn ein Administrator zum Debugging als Benutzer agieren muss.

{ "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange", "subject_token": "eyJhbGciOiJSUzI1NiJ9...", "subject_token_type": "urn:ietf:params:oauth:token-type:access_token", "requested_token_type": "urn:ietf:params:oauth:token-type:access_token", "exchange_type": "impersonation", "target_user_id": "usr_target123" }

Anfrage-Body — Delegation

Bei der Delegation bleibt das ursprüngliche Subject erhalten und ein act-(Actor-)Claim wird dem resultierenden Token hinzugefügt. Der nachgelagerte Dienst kann sowohl sehen, für wen das Token ist, als auch wer in seinem Namen agiert.

{ "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange", "subject_token": "eyJhbGciOiJSUzI1NiJ9...", "subject_token_type": "urn:ietf:params:oauth:token-type:access_token", "requested_token_type": "urn:ietf:params:oauth:token-type:access_token", "exchange_type": "delegation" }
FeldErforderlichBeschreibung
grant_typeJaMuss urn:ietf:params:oauth:grant-type:token-exchange sein
subject_tokenJaDas vorhandene Zugriffstoken zum Austauschen
subject_token_typeJaMuss urn:ietf:params:oauth:token-type:access_token sein
requested_token_typeJaDer gewünschte Ausgabe-Token-Typ. Typischerweise urn:ietf:params:oauth:token-type:access_token
exchange_typeJaEntweder impersonation oder delegation
target_user_idJa*Für Impersonierung erforderlich — die zu impersonierende Benutzer-ID
scopeNeinLeerzeichen-getrennte Scopes für das neue Token. Muss eine Teilmenge des Originals sein.

Erfolgsantwort — Impersonierung

{ "ok": true, "data": { "accessToken": "eyJhbGciOiJSUzI1NiJ9...", "issuedTokenType": "urn:ietf:params:oauth:token-type:access_token", "tokenType": "Bearer", "expiresIn": 900 } }

Die JWT-Payload des impersonierten Tokens hat "sub": "usr_target123", wobei die ursprüngliche Identität des impersonierenden Benutzers in den Audit-Protokollen erfasst wird.

Erfolgsantwort — Delegation

{ "ok": true, "data": { "accessToken": "eyJhbGciOiJSUzI1NiJ9...", "issuedTokenType": "urn:ietf:params:oauth:token-type:access_token", "tokenType": "Bearer", "expiresIn": 900 } }

Die JWT-Payload des delegierten Tokens enthält einen act-Claim:

{ "sub": "usr_original_user", "act": { "sub": "usr_acting_service" }, "scope": "read:users" }

Fehlercodes

CodeHTTPBeschreibung
TOKEN_EXCHANGE_DISABLED400Token Exchange ist für diese Anwendung nicht aktiviert
INVALID_SUBJECT_TOKEN400Das Subject-Token ist ungültig oder abgelaufen
TARGET_USER_NOT_FOUND404Die target_user_id existiert nicht
PERMISSION_DENIED403Dem Aufrufer fehlt die Berechtigung impersonate:users oder delegate:tokens
SCOPE_EXCEEDS_ORIGINAL400Der angeforderte Scope ist keine Teilmenge des Scopes des ursprünglichen Tokens

Impersonierung ist eine hochprivilegierte Operation. Die Berechtigung impersonate:users sollte auf Admin-Rollen und M2M-Service-Konten beschränkt sein, die sie benötigen. Alle Impersonierungsereignisse werden im Audit-Protokoll mit sowohl dem Akteur als auch dem impersonierten Benutzer erfasst.

DPoP — Sender-gebundene Tokens (RFC 9449)

Demonstration of Proof-of-Possession (DPoP) bindet Tokens an einen bestimmten Client, indem bei jeder Anfrage ein kryptografischer Nachweis erforderlich ist. Selbst wenn ein DPoP-gebundenes Token gestohlen wird, kann es ohne den entsprechenden privaten Schlüssel nicht verwendet werden.

Funktionsweise von DPoP

  1. Der Client generiert ein Schlüsselpaar (typischerweise EC P-256 oder RSA) und bewahrt den privaten Schlüssel sicher auf.
  2. Bei jeder Anfrage erstellt der Client ein signiertes DPoP-Proof-JWT, das die HTTP-Methode, URL und eine eindeutige jti enthält.
  3. Der Server validiert den Nachweis, extrahiert den JWK-Thumbprint und bindet das ausgestellte Token an diesen Schlüssel.
  4. Nachfolgende API-Aufrufe müssen sowohl das DPoP-Token als auch einen frischen DPoP-Nachweis enthalten, der mit demselben Schlüssel signiert ist.

DPoP-gebundene Tokens anfordern

Füge einen DPoP-Header bei jeder Token-Anfrage ein (Login, Aktualisierung, Autorisierungscode-Austausch):

POST /api/auth/token HTTP/1.1 Content-Type: application/json DPoP: eyJhbGciOiJFUzI1NiIsInR5cCI6ImRwb3Arand0IiwiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiLi4uIiwieSI6Ii4uLiJ9fQ.eyJodG0iOiJQT1NUIiwiaHR1IjoiaHR0cHM6Ly95b3VyLWF1cmlzLWRvbWFpbi5jb20vYXBpL2F1dGgvdG9rZW4iLCJpYXQiOjE3MDg1MjEyMDAsImp0aSI6InVuaXF1ZS1pZC0xMjMifQ.signature

DPoP-Proof-JWT-Struktur

Header:

{ "alg": "ES256", "typ": "dpop+jwt", "jwk": { "kty": "EC", "crv": "P-256", "x": "...", "y": "..." } }

Payload:

{ "htm": "POST", "htu": "https://api.altovar.net/api/auth/token", "iat": 1708521200, "jti": "unique-id-123", "nonce": "server-provided-nonce" }
FeldBeschreibung
htmDie HTTP-Methode der Anfrage (POST, GET usw.)
htuDie HTTP-URI der Anfrage (ohne Abfrageparameter)
iatAusstellungszeitstempel. Muss innerhalb eines kurzen Fensters liegen (typischerweise 60 Sekunden).
jtiEin eindeutiger Bezeichner zur Verhinderung von Replay-Angriffen
nonceVom Server bereitgestellte Nonce (enthalten, wenn der Server einen DPoP-Nonce-Header zurückgegeben hat)

Token-Antwort mit DPoP

Wenn ein DPoP-Nachweis enthalten ist, ist das Antwort-Token DPoP-gebunden:

{ "ok": true, "data": { "accessToken": "eyJhbGciOiJSUzI1NiJ9...", "tokenType": "DPoP", "expiresIn": 900 } }

Beachte, dass tokenType "DPoP" statt "Bearer" ist. Die JWT des Zugriffstokens enthält einen cnf-(Confirmation-)Claim mit dem JWK-Thumbprint:

{ "sub": "usr_abc123", "cnf": { "jkt": "JWK_THUMBPRINT_BASE64URL" } }

Nonce-Verwaltung

Der Server kann eine Nonce für Replay-Schutz erfordern. Wenn er dies tut, enthält die Antwort:

DPoP-Nonce: eyJhbGciOiJIUzI1NiJ9...

Füge diese Nonce in nachfolgende DPoP-Nachweise ein. Wenn eine Anfrage ohne erforderliche Nonce eingeht, gibt der Server 400 mit einem use_dpop_nonce-Fehler und einer frischen Nonce im Header zurück.

Fehlercodes

CodeHTTPBeschreibung
INVALID_DPOP_PROOF400DPoP-Proof-JWT ist fehlerhaft, abgelaufen oder hat eine ungültige Signatur
DPOP_NONCE_REQUIRED400Server erfordert eine Nonce — erneut mit der Nonce aus dem DPoP-Nonce-Antwort-Header versuchen
DPOP_JKT_MISMATCH401Der DPoP-Nachweis wurde mit einem anderen Schlüssel signiert als dem, an den das Token gebunden ist
DPOP_DISABLED400DPoP ist für diese Anwendung nicht aktiviert

CIBA — Client-Initiated Backchannel Authentication

CIBA ermöglicht es einem Backend-Dienst, die Authentifizierung für einen Benutzer zu initiieren, ohne dass der Benutzer mit einer Browser-Weiterleitung interagieren muss. Stattdessen erhält der Benutzer eine Benachrichtigung (Push, SMS oder E-Mail) und genehmigt die Anfrage auf seinem Gerät.

Dies ist nützlich für Szenarien wie Call-Center-Authentifizierung (“Ich rufe von Ihrer Bank an, bitte genehmigen Sie die Anmeldung auf Ihrem Telefon”) oder Point-of-Sale-Transaktionen.

POST/api/oauth/backchannel/authorizeRequires: manage:ciba_config

Leitet eine CIBA-Authentifizierungsanfrage ein. Der Server sendet eine Benachrichtigung an den identifizierten Benutzer. Der aufrufende Dienst fragt dann ab (oder erhält einen Callback), um Tokens zu erhalten, sobald der Benutzer genehmigt.

Anfrage-Body

{ "client_id": "backend-service-id", "client_secret": "backend-service-secret", "scope": "openid profile", "login_hint": "[email protected]", "binding_message": "Approve login for Order #12345", "requested_expiry": 300 }
FeldErforderlichBeschreibung
client_idJaDie Client-ID der M2M-Anwendung
client_secretJaDas Client-Secret der M2M-Anwendung
scopeNeinAngeforderte Scopes
login_hintJaE-Mail-Adresse oder Benutzer-ID zur Identifizierung des zu authentifizierenden Benutzers
binding_messageNeinFür Menschen lesbarer Text, der dem Benutzer in der Benachrichtigung angezeigt wird (max. 256 Zeichen)
requested_expiryNeinSekunden bis zum Ablauf der Anfrage (Standard: 300, max: 600)

Erfolgsantwort

{ "ok": true, "data": { "auth_req_id": "ciba_req_abc123def456", "expires_in": 300, "interval": 5 } }

Benachrichtigungsmodi

CIBA unterstützt drei Benachrichtigungszustellungsmodi, die pro Anwendung konfiguriert werden:

ModusBeschreibung
pollDer Dienst fragt den Token-Endpunkt mit auth_req_id ab. Standardmodus.
pingAuris sendet einen HTTP-Callback an den registrierten notification_endpoint der Anwendung, wenn der Benutzer antwortet. Der Dienst ruft dann den Token-Endpunkt auf.
pushAuris sendet die Tokens direkt in der Callback-Payload an den notification_endpoint. Keine Abfrage erforderlich.

CIBA-Token-Abfrage

Im poll-Modus fragt der Dienst den Token-Endpunkt ab:

{ "grant_type": "urn:openid:params:grant-type:ciba", "auth_req_id": "ciba_req_abc123def456", "client_id": "backend-service-id", "client_secret": "backend-service-secret" }

Die Abfrageantworten folgen demselben Muster wie beim Device Authorization:

  • AUTHORIZATION_PENDING während des Wartens auf Benutzergenehmigung
  • SLOW_DOWN bei zu häufiger Abfrage
  • EXPIRED_TOKEN bei Ablauf der Anfrage
  • ACCESS_DENIED wenn der Benutzer die Anfrage abgelehnt hat
  • Vollständige Token-Antwort bei Genehmigung

Fehlercodes

CodeHTTPBeschreibung
CIBA_DISABLED400CIBA ist für diese Anwendung nicht aktiviert
USER_NOT_FOUND404login_hint stimmt mit keinem Benutzer überein
NOTIFICATION_FAILED500Die Authentifizierungsbenachrichtigung konnte nicht an den Benutzer zugestellt werden
BINDING_MESSAGE_TOO_LONG400binding_message überschreitet 256 Zeichen

Risikobewertung und adaptives MFA

Auris führt bei jedem Authentifizierungsversuch eine automatische Risikobewertung durch. Der Risikoscore wird aus fünf gewichteten Faktoren berechnet und bestimmt, ob zusätzliche Authentifizierungsschritte (Step-up-MFA) erforderlich sind.

Risikobewertungsfaktoren

FaktorGewichtungBeschreibung
IP-Reputation20%Bekannte bösartige IPs, VPNs, Proxys, Rechenzentren
Gerätevertrauen20%Ob der Geräte-Fingerabdruck bereits gesehen wurde
Geo-Anomalie20%Erkennung unmöglicher Reisen (Login von einem weit entfernten Ort in zu kurzer Zeit)
Verhalten20%Ungewöhnliche Anmeldemuster (Tageszeit, Häufigkeit)
Aktionssensitivität20%Wie sensibel die angeforderte Aktion ist

Risikoniveaus: LOW (0-30), MEDIUM (31-60), HIGH (61-80), CRITICAL (81-100).

Wenn der Risikoscore konfigurierte Schwellenwerte überschreitet, fordert Auris den Benutzer automatisch mit Step-up-MFA auf, bevor Tokens ausgestellt werden. Die acr-(Authentication Context Class Reference) und amr-(Authentication Methods References-)Claims in der JWT spiegeln das tatsächlich erreichte Authentifizierungsniveau wider.

GET/api/auth/risk/assessmentsRequires: view:risk_assessments

Listet aktuelle Risikobewertungen im gesamten Tenant auf. Nützlich zur Überwachung verdächtiger Anmeldemuster und zur Überprüfung von Risikobewertungsentscheidungen.

Abfrageparameter

ParameterTypBeschreibung
pageintegerSeitennummer (Standard: 1)
limitintegerElemente pro Seite (Standard: 20)
userIdstringNach Benutzer-ID filtern
levelLOW | MEDIUM | HIGH | CRITICALNach Risikoniveau filtern
dateFromISO 8601Beginn des Datumsbereichs
dateToISO 8601Ende des Datumsbereichs

Erfolgsantwort

{ "ok": true, "data": { "data": [ { "id": "risk_abc123", "userId": "usr_def456", "score": 72, "level": "HIGH", "factors": { "ipReputation": { "score": 85, "isVpn": true, "isProxy": false }, "deviceTrust": { "score": 50, "isNewDevice": true }, "geoAnomaly": { "score": 90, "distance": 5200, "timeSinceLastLogin": 1800 }, "behavior": { "score": 60, "unusualTime": true }, "actionSensitivity": { "score": 75 } }, "actionTaken": "step_up_mfa", "ipAddress": "203.0.113.42", "country": "CN", "city": "Beijing", "createdAt": "2025-02-18T03:45:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 156, "totalPages": 8 } } }
GET/api/auth/risk/rulesRequires: manage:risk_rules

Listet alle benutzerdefinierten Risikoregeln auf, die für den Tenant konfiguriert sind. Risikoregeln ermöglichen das Überschreiben oder Ergänzen der Standard-Bewertung für bestimmte Bedingungen.

Erfolgsantwort

{ "ok": true, "data": [ { "id": "rule_abc123", "name": "Block known VPN ranges", "condition": { "field": "ipReputation.isVpn", "operator": "equals", "value": true }, "action": "block", "scoreModifier": 40, "isActive": true, "createdAt": "2025-01-15T10:00:00Z" } ] }
POST/api/auth/risk/rulesRequires: manage:risk_rules

Erstellt eine benutzerdefinierte Risikoregel. Regeln werden während des Logins ausgewertet und können den Risikoscore ändern, zusätzliche Authentifizierung erfordern oder den Login vollständig blockieren.

Anfrage-Body

{ "name": "Require MFA for new countries", "condition": { "field": "geoAnomaly.isNewCountry", "operator": "equals", "value": true }, "action": "step_up_mfa", "scoreModifier": 30, "isActive": true }
FeldErforderlichBeschreibung
nameJaMenschenlesbarer Name für die Regel
conditionJaBedingungsobjekt mit field, operator und value
actionJaEines von: allow, step_up_mfa, block, log
scoreModifierNeinPunkte, die dem Risikoscore bei Bedingungsübereinstimmung hinzugefügt werden (0-100)
isActiveNeinOb die Regel aktiv ist (Standard: true)

Verfügbare Bedingungsfelder: ipReputation.isVpn, ipReputation.isProxy, ipReputation.isDatacenter, deviceTrust.isNewDevice, geoAnomaly.isNewCountry, geoAnomaly.distance, behavior.unusualTime, behavior.failedAttempts.

Verfügbare Operatoren: equals, not_equals, greater_than, less_than, contains, in.

Erfolgsantwort

{ "ok": true, "data": { "id": "rule_def456", "name": "Require MFA for new countries", "condition": { "field": "geoAnomaly.isNewCountry", "operator": "equals", "value": true }, "action": "step_up_mfa", "scoreModifier": 30, "isActive": true, "createdAt": "2025-02-18T10:00:00Z" } }
PUT/api/auth/risk/rules/[id]Requires: manage:risk_rules

Aktualisiert den Namen, die Bedingung, die Aktion, den Score-Modifier oder den aktiven Status einer Risikoregel.

Anfrage-Body

{ "name": "Require MFA for new countries (aktualisiert)", "scoreModifier": 50, "isActive": true }
DELETE/api/auth/risk/rules/[id]Requires: manage:risk_rules

Löscht eine Risikoregel. Tritt sofort beim nächsten Anmeldeversuch in Kraft.

Erfolgsantwort

{ "ok": true, "data": { "deleted": true } }

ACR und AMR in Tokens

Wenn adaptives MFA eine Step-up-Authentifizierung auslöst, enthält die ausgestellte JWT acr- und amr-Claims, die nachgelagerte Dienste zur Überprüfung der Authentifizierungsstärke verwenden können:

{ "sub": "usr_abc123", "acr": "urn:auris:acr:mfa", "amr": ["pwd", "otp"], "iat": 1708521200, "exp": 1708522100 }
ClaimBeschreibung
acrAuthentication Context Class Reference. Werte: urn:auris:acr:pwd (nur Passwort), urn:auris:acr:mfa (Passwort + zweiter Faktor), urn:auris:acr:strong (Passwort + starker zweiter Faktor wie WebAuthn)
amrAuthentication Methods References. Array der verwendeten Methoden: pwd, otp (TOTP), sms, webauthn, social, magic_link, sso

Ressourcenserver können für sensible Operationen ein Mindest-acr-Niveau erfordern, indem sie die JWT-Claims vor der Anfrageverarbeitung prüfen.

Berechtigungsreferenz

BerechtigungBeschreibung
manage:device_codesKonfiguration des Device Authorization Flow verwalten
impersonate:usersTokens für Impersonierung austauschen (als ein anderer Benutzer agieren)
delegate:tokensTokens für Delegation austauschen (im Namen eines anderen Benutzers agieren)
manage:dpop_configDPoP-Einstellungen für Anwendungen konfigurieren
manage:ciba_configCIBA-Einstellungen und Benachrichtigungsendpunkte konfigurieren
view:risk_assessmentsRisikobewertungsprotokolle und Bewertungsdetails anzeigen
manage:risk_rulesBenutzerdefinierte Risikoregeln erstellen, aktualisieren und löschen
manage:advanced_oauthVollzugriff auf alle erweiterten OAuth-Konfigurationen

Alle erweiterten OAuth-Funktionen erfordern eine explizite Aktivierung für jede Anwendung. Die Anwendungseinstellungen in der Auris-Konsole enthalten Schalter für Device Flow, Token Exchange, DPoP und CIBA. Die entsprechenden enable*-Flags im Anwendungsmodell steuern die Verfügbarkeit.


Verwandte Themen