Ativando a Reautenticação Forçada

Para forçar um usuário a se autenticar novamente ao acessar um aplicativo, mesmo que uma sessão válida do OCI IAM esteja disponível, defina forceReauthenticateAfterInMinutes usando o ponto final da API REST.

Nota

Para ativar essa funcionalidade, o recurso access.sso.session.max.age precisa ser ativado.

O OCI IAM mantém o atributo forceReauthenticateAfterInMinutes no nível do aplicativo. Quando um aplicativo faz uma solicitação de autenticação para o OCI IAM, o serviço avalia se a duração desde a última autenticação excedeu o valor definido no atributo forceReauthenticateAfterInMinutes desse aplicativo. Se tiver, o OCI IAM forçará o usuário a se autenticar novamente. Por padrão, o valor é NULL e a reautenticação não é imposta.

Valores possíveis para este atributo:

  • NULL (padrão) — Sem reautenticação

  • -1 — Sem reautenticação

  • 0 a 32767 — Duração em minutos após a qual um usuário é forçado a se autenticar novamente

Se estiver autenticando com provedores de identidade externos, o OCI IAM tentará impor a reautenticação no IdPs externo.

  • Para o OIDC, o OCI IAM passa o atributo max_age na solicitação /authorize.
  • Para SAML, com base em AuthNInstant retornado na resposta SAML pelo provedor de identidades externo, o OCI IAM envia uma segunda solicitação SAML para o IdP com ForceAuthn=true.

O valor do atributo max_age recebido na solicitação tem precedência sobre o valor forceReauthenticateAfterInMinutes configurado no nível do aplicativo, mas o protocolo max_age deve ser implementado corretamente para funcionar. Por exemplo, se o IdP não retornar o id_token ou incluir auth_time no id_token, o protocolo max_age não funcionará e seu aplicativo retornará um erro ao tentar acessar. Google e Facebook são exemplos de provedores de identidade que não implementaram o protocolo max_age corretamente a partir de agora.

Observação

Quando o OCI IAM é federado em um provedor de identidades externo, o OCI IAM não pode garantir que um usuário seja forçado a se autenticar novamente por um provedor de identidades externo. O comportamento depende de como os protocolos OIDC/SAML são implementados no provedor de identidades externo.
Curl para atualizar o atributo forceReauthenticateAfterInMinutes no aplicativo.

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