【问题标题】:Azure AD B2C - Recover your Account differs from Reset PasswordAzure AD B2C - 恢复您的帐户不同于重置密码
【发布时间】:2019-08-26 18:19:10
【问题描述】:

我正在使用 Azure AD B2C(和 MSAL),并且已启用并运行注册/登录、编辑配置文件和密码重置策略。

但是,如果您正在执行“编辑配置文件”工作流程并选择“恢复帐户”,我注意到异常情况,返回的流程与链接到登录流程的“重置密码”策略不同。

当用户输入身份信息和验证码时,它返回错误“您的组织尚未设置密码重置策略”,即使您在登录时选择它也可以正常工作。

这就是我设置密码重置的方式

     AuthenticationResult authResult = await ADB2CClient.AcquireTokenAsync(Scopes, GetUserByPolicy(accounts, EditProfilePolicy), UIBehavior.NoPrompt, string.Empty, null, AuthorityEditProfile, App.UiParent);

这就是我设置编辑配置文件的方式

    authenticationResult = await ADB2CClient.AcquireTokenAsync(Scopes, firstAccount, UIBehavior.SelectAccount, string.Empty, null, AuthorityResetPassword, App.UiParent);

但是,如前所述,“编辑个人资料”上的“恢复您的帐户”选项显然会触发不同的流程,我不清楚如何在“政策”中说明这一点?

【问题讨论】:

    标签: azure-active-directory azure-ad-b2c msal


    【解决方案1】:

    我猜你在获取 authenticationResult 时传递了不同的策略名称。例如,在密码重置策略的情况下,您将传递“AuthorityEditProfile”来获取 authentciationResult,而在编辑配置文件的情况下,您将传递“AuthorityResetPassword”。 p>

    你能不能改一下再试试。

    编辑个人资料:

    AuthenticationResult authResult = await ADB2CClient.AcquireTokenAsync(Scopes, GetUserByPolicy(accounts, EditProfilePolicy), UIBehavior.NoPrompt, string.Empty, null, AuthorityEditProfile, App.UiParent);

    密码重置:

    authenticationResult = await ADB2CClient.AcquireTokenAsync(Scopes, firstAccount, UIBehavior.SelectAccount, string.Empty, null, AuthorityResetPassword, App.UiParent);

    【讨论】:

    • 发生了一些变化 - 我尝试了您的建议,现在流程不再要求您在编辑个人资料之前验证您的身份。但我没有更改任何代码 - 我只是想在之前和之后进行验证。多么奇怪。
    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 2019-07-14
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多