Избегайте писем с кодом подтверждения, когда пользователь не зарегистрирован в Azure AD B2C - PullRequest
0 голосов
/ 01 апреля 2020

Azure B2 C создает ложное представление о том, что пользователь находится в каталоге, когда он пытается сбросить свой пароль.

Ниже приведены шаги для сброса пароля: 1) пользователь нажимает кнопку сброса пароля ссылка

2) B2 C представляет страницу с полем «Адрес электронной почты» и говорит «Проверка необходима. Пожалуйста, нажмите кнопку «Отправить».

3) Пользователь вводит свой адрес электронной почты и нажимает «Отправить код подтверждения»

4) B2 C отправляет проверочный код на этот адрес электронной почты (даже если нет). с этим адресом электронной почты связан пользователь (здесь пользователь думает, что он зарегистрирован в системе) *

5) Теперь пользователь вводит полученный код подтверждения и нажимает «Подтвердить код»

6) B2 C подтвердил код и говорит: «Адрес электронной почты подтвержден. Теперь вы можете продолжить »(на этом этапе они уверены, что они существуют в системе)

7) Теперь, когда пользователи нажимают« Продолжить », они получают сообщение об ошибке« Не удалось найти учетную запись для предоставленный идентификатор пользователя. » Как показано на скриншоте.

Подтверждение электронного письма, не связанного с пользователем, полностью их смущает. я нашел это решение, но не понял, как именно использовать эту политику вместе с моей текущей политикой

1 Ответ

1 голос
/ 02 апреля 2020

Основываясь на этом решении , вам необходимо использовать следующий фрагмент XML для его реализации:

<Action Id="SendCode">
    <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AAD-UserReadUsingEmailAddress-emailAddress" />
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode">
        <Preconditions>
            <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
            <Value>objectId</Value>
            <Action>SkipThisValidationTechnicalProfile</Action>
            </Precondition>
        </Preconditions>
        </ValidationClaimsExchangeTechnicalProfile>
    </ValidationClaimsExchange>
</Action>

Поэтому вам следует начать с добавления "emailVerificationControl" в "LocalAccountDiscoveryUsingEmailAddress" "TechnicalProfile.

Просто добавьте строку 163-165 к месту за строкой 890 .

И вам нужно добавить DisplayControls в ваш файл TrustFrameworkExtensions. xml, чтобы на него можно было сослаться.

Если есть какие-либо другие ссылки, вы также должны добавить их в соответствующую позицию.

...