Erzwungene erneute Authentifizierung aktivieren
Um die erneute Authentifizierung eines Benutzers beim Zugriff auf eine Anwendung zu erzwingen, auch wenn eine gültige OCI-IAM-Session verfügbar ist, legen Sie forceReauthenticateAfterInMinutes
mit dem REST-API-Endpunkt fest.
Um diese Funktion zu aktivieren, muss das Feature access.sso.session.max.age
aktiviert sein.
OCI IAM verwaltet das Attribut forceReauthenticateAfterInMinutes
auf Anwendungsebene. Wenn eine Anwendung eine Authentifizierungsanforderung an OCI IAM stellt, wertet der Service aus, ob die Zeitdauer seit der letzten Authentifizierung den im Attribut forceReauthenticateAfterInMinutes
für diese App festgelegten Wert überschritten hat. Ist dies der Fall, erzwingt OCI IAM die erneute Authentifizierung des Benutzers. Standardmäßig ist der Wert NULL, und die erneute Authentifizierung wird nicht erzwungen.
Mögliche Werte für dieses Attribut:
-
NULL (Standard) – Keine erneute Authentifizierung
-
-1 - Keine erneute Authentifizierung
-
0 bis 32767: Dauer in Minuten, nach der ein Benutzer zur erneuten Authentifizierung gezwungen wird
Bei der Authentifizierung mit externen Identitätsprovidern versucht OCI IAM, die erneute Authentifizierung in der externen IdPs durchzusetzen.
- Bei OIDC übergibt OCI IAM das Attribut max_age in der Anforderung /authorize.
- Bei SAML sendet OCI IAM basierend auf AuthNInstant, das von dem externen Identitätsprovider in der SAML-Antwort zurückgegeben wird, eine zweite SAML-Anforderung an IdP mit
ForceAuthn=true
.
Der in der Anforderung empfangene Attributwert max_age hat Vorrang vor dem auf App-Ebene konfigurierten Wert forceReauthenticateAfterInMinutes
. Das max_age-Protokoll muss jedoch korrekt implementiert werden, damit es funktioniert. Beispiel: Wenn IdP id_token nicht zurückgibt oder auth_time nicht in id_token einbezieht, funktioniert das max_age-Protokoll nicht, und Ihre Anwendung gibt bei der Anmeldung einen Fehler zurück. Google und Facebook sind Beispiele für Identitätsprovider, die das Protokoll max_age ab sofort nicht korrekt implementiert haben.
Wenn OCI IAM mit einem externen Identitätsprovider föderiert ist, kann OCI IAM nicht garantieren, ob ein Benutzer von einem externen Identitätsprovider erneut authentifiziert werden muss. Das Verhalten hängt davon ab, wie OIDC/SAML-Protokolle beim externen Identitätsprovider implementiert werden.
forceReauthenticateAfterInMinutes
in der App.
curl --location --request PATCH 'https://{{IDCS_HOST}}/admin/v1/Apps/{{APP_ID}}' --header 'X-RESOURCE-IDENTITY-DOMAIN-NAME: tenantsp' --header 'Authorization: Bearer {{IDENTITY_DOMAIN_ADMINSTRATOR_TOKEN}}' --header 'Content-Type: application/json' --data-raw '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "forceReauthenticateAfterInMinutes",
"value": {{value}}
}
]
}'