Configurar um fluxo de redefinição de senha forçada no Azure Active Directory B2C

Antes de começar, use o seletor Escolher um tipo de política para escolher o tipo de política que você está configurando. O Azure Active Directory B2C oferece dois métodos para definir como os usuários interagem com seus aplicativos: por meio de fluxos dos usuários predefinidos ou de políticas personalizadas totalmente configuráveis. As etapas necessárias neste artigo são diferentes para cada método.

Visão geral

Como administrador, você pode redefinir a senha de um usuário se o usuário esquecer a senha. Ou se quiser forçar a redefinição da senha. Neste artigo, você aprenderá a forçar uma redefinição de senha nesses cenários.

Quando um administrador redefine a senha de um usuário por meio do portal do Azure, o valor do atributo forceChangePasswordNextSignIn é definido como true. A jornada para se inscrever e entrar verifica o valor desse atributo. Depois que o usuário concluir a entrada, se o atributo for definido como true, ele precisará redefinir a senha. Em seguida, o valor do atributo é definido de volta para false.

Force password reset flow

O fluxo de redefinição de senha pode ser aplicado a contas locais no Azure AD B2C que usam um endereço de email ou nome de usuário com uma senha como credenciais.

Pré-requisitos

Configurar o fluxo dos usuários

Para habilitar a configuração de redefinição de senha forçada em um fluxo de usuário de inscrição ou entrada:

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.
  3. No portal do Azure, pesquise e selecione Azure AD B2C.
  4. Escolha Fluxos de usuário.
  5. Escolha o fluxo para se inscrever e entrar ou para entrar (do tipo Recomendado) que você quer personalizar.
  6. No menu esquerdo em Configurações, escolha Propriedades.
  7. Em Configuração da senha, selecione Redefinição de senha forçada.
  8. Clique em Salvar.

Testar o fluxo de usuário

  1. Entre no portal do Azure como administrador de usuários ou de senhas. Para obter mais informações sobre as funções disponíveis, consulte Atribuindo as funções de administrador no Microsoft Entra.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.
  3. No portal do Azure, pesquise e selecione Azure AD B2C.
  4. Selecione Usuários. Procure e escolha o usuário que você usará para testar a redefinição de senha e, em seguida, escolha Redefinir senha.
  5. No portal do Azure, pesquise e selecione Azure AD B2C.
  6. Escolha Fluxos de usuário.
  7. Escolha um fluxo de usuário de inscrição ou entrada (do tipo Recomendado) que você quer testar.
  8. Selecione Executar fluxo de usuário.
  9. Para Aplicativo, selecione o aplicativo Web denominado webapp1 que você registrou anteriormente. A URL de resposta deve mostrar https://jwt.ms.
  10. Selecione Executar fluxo de usuário.
  11. Entre com a conta de usuário para a qual você redefiniu a senha.
  12. Agora você precisa mudar a senha para o usuário. Altere a senha e selecione Continuar. O token é retornado para https://jwt.ms e deve ser exibido para você.

Configurar sua política personalizada

Obtenha o exemplo da política de imposição de redefinição de senha no GitHub. Em cada arquivo, substitua a cadeia de caracteres yourtenant pelo nome do seu locatário do Azure AD B2C. Por exemplo, se o nome do seu locatário B2C for contosob2c, todas as instâncias de yourtenant.onmicrosoft.com se tornarão contosob2c.onmicrosoft.com.

Carregar e testar a política

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.
  3. Escolha Todos os serviços no canto superior esquerdo do Portal do Azure, pesquise Azure AD B2C e selecione-o.
  4. Selecione Estrutura de Experiência de Identidade.
  5. Em Políticas Personalizadas, selecione Carregar Política.
  6. Selecione o arquivo TrustFrameworkExtensionsCustomForcePasswordReset.xml.
  7. Escolha Carregar.
  8. Repita as etapas de 6 a 8 para o arquivo de terceira parte confiável TrustFrameworkExtensionsCustomForcePasswordReset.xml.

Executar a política

  1. Abra a política B2C_1A_TrustFrameworkExtensions_custom_ForcePasswordReset que você carregou.
  2. Em Aplicativo, escolha o aplicativo que você registrou anteriormente. Para ver o token, a URL de resposta deve mostrar https://jwt.ms.
  3. Selecione Executar Agora.
  4. Entre com a conta de usuário para a qual você redefiniu a senha.
  5. Agora você precisa mudar a senha para o usuário. Altere a senha e selecione Continuar. O token é retornado para https://jwt.ms e deve ser exibido para você.

Forçar a redefinição de senha no próximo logon

Para forçar a redefinição da senha no próximo logon, atualize o perfil de senha da conta usando a operação Atualizar usuário do MS Graph. Para fazer isso, você precisa atribuir ao aplicativo Microsoft Graph a função Administrador de usuário. Siga as etapas em Conceder função Administrador de usuário para atribuir ao aplicativo Microsoft Graph a função Administrador de usuário.

O exemplo a seguir atualiza o atributo forceChangePasswordNextSignIn do perfil de senha para true, que força o usuário a redefinir a senha no próximo logon.

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
    "passwordProfile": {
      "forceChangePasswordNextSignIn": true
    }
}

Depois que o perfil de senha da conta for definido, você também precisará configurar o fluxo de redefinição de senha forçada, conforme descrito neste artigo.

Forçar uma redefinição de senha após 90 dias

Como administrador, você pode definir a expiração da senha de um usuário para 90 dias com o MS Graph. Após 90 dias, o valor do atributo forceChangePasswordNextSignIn é definido automaticamente como true. Para forçar uma redefinição de senha após 90 dias, remova o valor DisablePasswordExpiration do atributo Política de senha do perfil do usuário.

O seguinte exemplo atualiza a política de senha para None, que força uma redefinição de senha após 90 dias:

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "None"
}

Se você tiver desabilitado a complexidade de senha forte, atualize a política de senha para DisableStrongPassword:

Observação

Depois que o usuário redefinir a senha, as passwordPolicies serão alteradas novamente para DisablePasswordExpiration

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "DisableStrongPassword"
}

Depois de definir uma política de expiração de senha, você também deverá configurar o fluxo de redefinição de senha forçada, conforme descrito neste artigo.

Tempo de expiração da senha

Por padrão, a senha é definida para não expirar. No entanto, o valor é configurável usando o cmdlet Update-MgDomain do módulo Microsoft Graph do PowerShell. Esse comando atualiza o locatário, para que as senhas de todos os usuários expirem após alguns dias de configuradas. Por exemplo:

Import-Module Microsoft.Graph.Identity.DirectoryManagement

Connect-MgGraph  -Scopes 'Domain.ReadWrite.All'

$domainId = "contoso.com"
$params = @{
	passwordValidityPeriodInDays = 90
	passwordNotificationWindowInDays = 15
}

Update-MgDomain -DomainId $domainId -BodyParameter $params

Observação

passwordValidityPeriodInDays indica por quantos dias uma senha permanece válida antes de ser alterada. passwordNotificationWindowInDays indica quantos dias antes da data de validade da senha, os usuários recebem sua primeira notificação para indicar que sua senha está prestes a expirar.

Próximas etapas

Configure uma redefinição de senha por autoatendimento.