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 du point d'extrémité de l'API REST.

Note

Pour activer cette fonctionnalité, la fonction 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 depuis la dernière authentification a dépassé la valeur définie dans l'attribut forceReauthenticateAfterInMinutes pour cette application. Le cas échéant, OCI IAM force l'utilisateur à s'authentifier de nouveau. Par défaut, la valeur est NULL et la réauthentification n'est pas appliquée.

Valeurs possibles pour cet attribut :

  • NULL (valeur par défaut) — Aucune réauthentification

  • -1 — Aucune réauthentification

  • 0 to 32767 — Durée en minutes après laquelle un utilisateur est forcé de s'authentifier de nouveau

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

  • Pour OIDC, OCI IAM transmet l'attribut max_age dans la demande /authorize.
  • Pour SAML, basé sur AuthNInstant retourné 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 a priorité sur la valeur forceReauthenticateAfterInMinutes configurée au niveau de l'application, mais le protocole max_age doit être mis en oeuvre correctement pour fonctionner. Par exemple, si IdP ne retourne pas id_token ou n'inclut pas auth_time dans id_token, le protocole max_age ne fonctionnera pas et votre application retournera une erreur lors de la tentative de connexion. Google et Facebook sont des exemples de fournisseurs d'identités qui n'ont pas mis en œuvre correctement le protocole max_age à ce jour.

Note

Lorsque OCI IAM est fédéré vers un fournisseur d'identités externe, OCI IAM ne peut pas garantir si un utilisateur est forcé 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 dans 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}}
        }
    ]
}'