Activation de la réauthentification forcée

Pour forcer un utilisateur à se réauthentifier lors de l'accès à une application, même si une session OCI IAM valide est disponible, définissez forceReauthenticateAfterInMinutes à l'aide de l'adresse d'API REST.

Remarque

Pour activer cette fonctionnalité, la fonctionnalité access.sso.session.max.age doit être activée.

OCI IAM gère l'attribut forceReauthenticateAfterInMinutes au niveau de l'application. Lorsqu'une application envoie une demande d'authentification à OCI IAM, le service évalue si la durée écoulée depuis la dernière authentification a dépassé la valeur définie dans l'attribut forceReauthenticateAfterInMinutes pour cette application. Si tel est le cas, OCI IAM force l'utilisateur à se réauthentifier. Par défaut, la valeur est NULL et la réauthentification n'est pas appliquée.

Valeurs possibles pour cet attribut :

  • NULL (par défaut) : aucune réauthentification

  • -1 : aucune réauthentification

  • 0 à 32767 : durée en minutes après laquelle un utilisateur est obligé de s'authentifier à nouveau

En cas d'authentification auprès de fournisseurs d'identités externes, OCI IAM tente d'appliquer la réauthentification à l'adresse IdPs externe.

  • Pour OIDC, OCI IAM transmet l'attribut max_age dans la demande /authorize.
  • Pour SAML, en fonction de AuthNInstant renvoyé dans la réponse SAML par le fournisseur d'identités externe, OCI IAM envoie une deuxième demande SAML à IdP avec ForceAuthn=true.

La valeur d'attribut max_age reçue dans la demande est prioritaire sur la valeur forceReauthenticateAfterInMinutes configurée au niveau de l'application, mais le protocole max_age doit être implémenté correctement pour fonctionner. Par exemple, si IdP ne renvoie pas id_token ou n'inclut pas auth_time dans id_token, le protocole max_age ne fonctionnera pas et l'application renverra une erreur lors de la tentative de connexion. Google et Facebook sont des exemples de fournisseurs d'identités qui n'ont pas correctement implémenté le protocole max_age à ce jour.

Remarque

Lorsqu'OCI IAM est fédéré vers un fournisseur d'identités externe, OCI IAM ne peut pas garantir si un utilisateur est obligé de se réauthentifier par un fournisseur d'identités externe. Le comportement dépend de la façon dont les protocoles OIDC/SAML sont implémentés au niveau du fournisseur d'identités externe.
Curl pour mettre à jour l'attribut forceReauthenticateAfterInMinutes sur l'application.

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}}
        }
    ]
}'