Abilitazione della nuova autenticazione forzata
Per forzare un utente a rieseguire l'autenticazione durante l'accesso a un'applicazione, anche se è disponibile una sessione IAM OCI valida, impostare forceReauthenticateAfterInMinutes
utilizzando l'endpoint API REST.
Per abilitare questa funzionalità, è necessario abilitare la funzione access.sso.session.max.age
.
IAM OCI gestisce l'attributo forceReauthenticateAfterInMinutes
a livello di applicazione. Quando un'applicazione invia una richiesta di autenticazione a IAM OCI, il servizio valuta se la durata dell'ultima autenticazione ha superato il valore impostato nell'attributo forceReauthenticateAfterInMinutes
per tale applicazione. In tal caso, IAM OCI obbliga l'utente a eseguire di nuovo l'autenticazione. Per impostazione predefinita, il valore è NULL e la nuova autenticazione non viene applicata.
Valori possibili per questo attributo:
-
NULL (impostazione predefinita): nessuna nuova autenticazione
-
-1: nessuna nuova autenticazione
-
Da 0 a 32767: durata in minuti dopo la quale un utente è costretto a rieseguire l'autenticazione.
Se si esegue l'autenticazione con provider di identità esterni, IAM OCI tenta di applicare la nuova autenticazione all'indirizzo IdPs esterno.
- Per OIDC, IAM OCI passa l'attributo max_age nella richiesta /authorize.
- Per SAML, in base a AuthNInstant restituito nella risposta SAML dal provider di identità esterno, IAM OCI invia una seconda richiesta SAML a IdP con
ForceAuthn=true
.
Il valore dell'attributo max_age ricevuto nella richiesta ha la precedenza sul valore forceReauthenticateAfterInMinutes
configurato a livello di applicazione, ma il protocollo max_age deve essere implementato correttamente per funzionare. Ad esempio, se IdP non restituisce id_token o non include auth_time in id_token, il protocollo max_age non funzionerà e l'applicazione restituirà un errore durante il tentativo di accesso. Google e Facebook sono esempi di provider di identità che finora non hanno implementato correttamente il protocollo max_age.
Quando IAM OCI è federato a un provider di identità esterno, IAM OCI non può garantire se un utente è costretto a rieseguire l'autenticazione da un provider di identità esterno. Il comportamento dipende dal modo in cui i protocolli OIDC/SAML vengono implementati presso il provider di identità esterno.
forceReauthenticateAfterInMinutes
nell'applicazione.
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}}
}
]
}'