Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Вы можете настроить Azure Active Directory B2C (Azure AD B2C), чтобы пользователь, вошедший в систему с помощью локальной учетной записи, может изменить пароль, не используя проверку электронной почты, чтобы подтвердить свою личность.
Поток изменения пароля включает в себя следующие действия.
Пользователь входит в локальную учетную запись. Если сеанс по-прежнему активен, Azure AD B2C авторизует пользователя и переходит к следующему шагу.
В старом пароле пользователь проверяет свой старый пароль. В новом пароле они создают и подтверждают свой новый пароль.
Подсказка
Пользователь может использовать поток изменения пароля, описанный в этой статье, только если он знает свой пароль и хочет изменить пароль. Рекомендуется также включить самостоятельный сброс пароля для случаев поддержки, в которых пользователь забывает пароль.
Эта функция доступна только для пользовательских политик. Для действий по настройке выберите пользовательскую политику в предыдущем селекторе.
Предпосылки
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C".
- Зарегистрируйте веб-приложение в Azure Active Directory B2C.
Добавление элементов
Откройте файл TrustFrameworkExtensions.xml . Добавьте следующий элемент ClaimType в элемент ClaimsSchema с идентификатором
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>
Элемент ClaimsProvider содержит технический профиль, который аутентифицирует пользователя. Добавьте в элемент 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>
Элемент UserJourneys определяет путь, который пользователь принимает при взаимодействии с приложением. Добавьте элемент UserJourneys, если он не существует, с идентификатором UserJourney:
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>
Сохраните файл политики TrustFrameworkExtensions.xml .
Скопируйте файлProfileEdit.xml , скачанный с помощью начального пакета, и присвойте ему имя ProfileEditPasswordChange.xml.
Откройте новый файл и обновите атрибут PolicyId уникальным значением. Это значение — имя вашей политики. Например, B2C_1A_profile_edit_password_change.
Измените атрибут ReferenceId в DefaultUserJourney , чтобы он соответствовал идентификатору созданного пути пользователя. Например, PasswordChange.
Сохраните ваши изменения.
Отправка и проверка политики
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
- Выберите Identity Experience Framework.
- В настраиваемых политиках выберите " Отправить политику".
- Выберите перезаписать политику, если она существует, а затем найдите и выберите файл TrustFrameworkExtensions.xml .
- Выберите Загрузить.
- Повторите шаги 5–7 для файла проверяющей стороны, например ProfileEditPasswordChange.xml.
Выполните политику
- Откройте измененную политику. Например, B2C_1A_profile_edit_password_change.
- Для приложения выберите приложение, зарегистрированное ранее. Чтобы увидеть маркер, должен отображаться
https://jwt.ms
URL-адрес ответа. - Выберите Запустить немедленно. На новой вкладке, которая открывается, удалите "&prompt=login" из URL-адреса и обновите вкладку. Затем войдите с помощью созданной ранее учетной записи. Диалоговое окно изменения пароля позволяет изменить пароль.
Связанный контент
- Найдите пример политики на сайте GitHub.
- Узнайте, как настроить сложность паролей в Azure AD B2C.
- Настройте поток сброса пароля.