Azure AD B2C - 恢复您的帐户与重置密码不同

问题描述 投票:1回答:1

我正在使用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个回答
0
投票

我猜你在获得authenticationResult时会传递不同的策略名称。例如,如果是密码重置策略,则传递“AuthorityEditProfile”以获取authenticntciationResult,如果是编辑配置文件,则传递“AuthorityResetPassword”。

你可以改变它并再试一次。

编辑档案:

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);

© www.soinside.com 2019 - 2024. All rights reserved.