我正在使用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);
但是,如前所述,“编辑配置文件”上的“恢复您的帐户”选项显然会触发不同的流程,而我不清楚如何在“策略”中进行说明?
答案 0 :(得分:0)
我想您在获取身份验证结果时传递了不同的策略名称。例如,如果使用密码重置策略,则传递“ AuthorityEditProfile ”以获取authentciationResult;如果使用编辑配置文件,则传递“ AuthorityResetPassword ”。>
您可以更改它,然后再试一次。
对于编辑配置文件:
AuthenticationResult authResult =等待ADB2CClient.AcquireTokenAsync(Scopes,GetUserByPolicy(accounts,EditProfilePolicy),UIBehavior.NoPrompt,string.Empty,null, AuthorityEditProfile ,App.UiParent);
密码重置:
authenticationResult =等待ADB2CClient.AcquireTokenAsync(范围,firstAccount,UIBehavior.SelectAccount,string.Empty,null, AuthorityResetPassword ,App.UiParent);