Configurar a alteração de senha usando políticas personalizadas 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.
Você pode configurar o Azure AD B2C (Azure Active Directory B2C) para que um usuário que esteja conectado com uma conta local possa alterar a senha sem usar a verificação de email para provar a identidade.
O fluxo de alteração de senha envolve as seguintes etapas:
O usuário entra em sua conta local. Se a sessão ainda estiver ativa, o Azure Active Directory B2C autorizará o usuário e pulará para a próxima etapa.
Em Senha antiga, o usuário confirma a senha antiga. Em Nova senha, ele cria e confirma a senha.
Dica
Um usuário pode usar o fluxo de alteração de senha descrito neste artigo somente quando sabe a senha e deseja alterá-la. Recomendamos que você também habilite a redefinição de senha por autoatendimento para dar suporte a casos em que o usuário esqueça a senha.
Esse recurso só está disponível para políticas personalizadas. Para obter as etapas de instalação, escolha Política personalizada no seletor anterior.
Pré-requisitos
- Conclua as etapas em Introdução às políticas personalizadas no Active Directory B2C.
- Registre um aplicativo Web no Azure Active Directory B2C.
Adicionar os elementos
Abra o arquivo TrustFrameworkExtensions.xml. Adicione o seguinte elemento ClaimType ao elemento ClaimsSchema, com um identificador igual a
oldPassword
:<BuildingBlocks> <ClaimsSchema> <ClaimType Id="oldPassword"> <DisplayName>Old Password</DisplayName> <DataType>string</DataType> <UserHelpText>Enter your old password</UserHelpText> <UserInputType>Password</UserInputType> </ClaimType> </ClaimsSchema> </BuildingBlocks>
Um elemento ClaimsProvider contém o perfil técnico que autentica o usuário. Adicione os seguintes provedores de declarações ao elemento ClaimsProviders:
<ClaimsProviders> <ClaimsProvider> <DisplayName>Local Account SignIn</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="login-NonInteractive-PasswordChange"> <DisplayName>Local Account SignIn</DisplayName> <InputClaims> <InputClaim ClaimTypeReferenceId="oldPassword" PartnerClaimType="password" Required="true" /> </InputClaims> <IncludeTechnicalProfile ReferenceId="login-NonInteractive" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider> <ClaimsProvider> <DisplayName>Local Account Password Change</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="LocalAccountWritePasswordChangeUsingObjectId"> <DisplayName>Change password (username)</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="objectId" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="oldPassword" Required="true" /> <OutputClaim ClaimTypeReferenceId="newPassword" Required="true" /> <OutputClaim ClaimTypeReferenceId="reenterPassword" Required="true" /> </OutputClaims> <ValidationTechnicalProfiles> <ValidationTechnicalProfile ReferenceId="login-NonInteractive-PasswordChange" /> <ValidationTechnicalProfile ReferenceId="AAD-UserWritePasswordUsingObjectId" /> </ValidationTechnicalProfiles> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider> </ClaimsProviders>
O elemento UserJourneys define o caminho usado pelo usuário ao interagir com seu aplicativo. Adicione o elemento UserJourneys se ele não existir com o identificador de UserJourney igual a
PasswordChange
:<UserJourneys> <UserJourney Id="PasswordChange"> <OrchestrationSteps> <OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.signuporsignin"> <ClaimsProviderSelections> <ClaimsProviderSelection TargetClaimsExchangeId="LocalAccountSigninEmailExchange" /> </ClaimsProviderSelections> </OrchestrationStep> <OrchestrationStep Order="2" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="3" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordChangeUsingObjectId" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="4" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="5" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" /> </OrchestrationSteps> <ClientDefinition ReferenceId="DefaultWeb" /> </UserJourney> </UserJourneys>
Salve o arquivo de política TrustFrameworkExtensions.xml.
Copie o arquivo ProfileEdit.xml que você baixou com o pacote de início e nomeie-o ProfileEditPasswordChange.xml.
Abra o novo arquivo e atualize o atributo PolicyId com um valor exclusivo. Esse valor é o nome da sua política. Por exemplo, B2C_1A_profile_edit_password_change.
Modifique o atributo ReferenceId em DefaultUserJourney para que ele corresponda à ID do percurso do usuário criado. Por exemplo, PasswordChange.
Salve suas alterações.
Carregar e testar a política
- Entre no portal do Azure.
- 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.
- Escolha Todos os serviços no canto superior esquerdo do Portal do Azure, pesquise Azure AD B2C e selecione-o.
- Selecione Estrutura de Experiência de Identidade.
- Em Políticas Personalizadas, selecione Carregar Política.
- Selecione Substituir a política se ela existir, depois procure o arquivo TrustFrameworkExtensions.xml e selecione-o.
- Escolha Carregar.
- Repita as etapas 5 a 7 para o arquivo de terceira parte confiável, como ProfileEditPasswordChange.xml.
Executar a política
- Abra a política que você alterou. Por exemplo, B2C_1A_profile_edit_password_change.
- Em Aplicativo, escolha o aplicativo que você registrou anteriormente. Para ver o token, a URL de resposta deve mostrar
https://jwt.ms
. - Selecione Executar Agora. Na nova guia que será aberta, remova "&prompt=login" da URL e atualize a guia. Em seguida, entre com a conta que você criou anteriormente. Uma caixa de diálogo de alteração de senha oferece a opção de alterar a senha.
Próximas etapas
- Encontre a política de exemplo no GitHub.
- Saiba mais sobre como você pode Configurar a complexidade de senha no Azure Active Directory B2C.
- Configure um fluxo de redefinição de senha.