顺便说一句,我希望我在Azure B2C上所做的每一个举动都不需要去堆栈溢出。感谢上帝,它就在这里。无论如何。。。。
我故意使用了一个与另一篇文章非常相似的标题,因为它已经得到了回答,但我不明白。
我希望为我的用户提供重置策略,因此请按照帖子中的演练进行操作:
启用自助服务密码
我正在使用注册/登录策略,因此出现错误。我回到这篇StackOverflow帖子,并在这篇文章中确定原因:
密码重置不起作用
这是因为"注册/登录策略:这需要应用程序执行一些额外的工作"。
很公平...但是我究竟把这个重定向代码放在哪里,在帖子中礼貌地解释了???
在 Azure AD B2C 自助服务密码重置链接中的答案中的代码示例中不起作用,需要在AuthenticationFailed
处理程序中放入错误代码"AADB2C90118"
检查 - 通常为Startup.Auth.cs
:
在此示例中,处理程序会将用户重定向到指示AccountController
中的ResetPassword
方法的"/Account/ResetPassword"
,这反过来又会带来身份验证挑战,将用户重定向到密码重置 B2C 策略。(您可以将此代码移动到您喜欢的任何控制器,只要您适当地更新AuthenticationHandler
重定向即可。
形成此链接,您可以重置密码,RedirectUri
可能不需要手动输入。
public void ResetPassword()
{
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties() { RedirectUri = "/" }, Startup.PasswordResetPolicyId);
}
}