Azure AD B2C密码重置链接不起作用

时间:2019-01-05 23:47:56

标签: azure xamarin azure-active-directory azure-ad-b2b

顺便说一句,我希望我在Azure B2C上所做的每一步都不需要遍历stackoverflow。感谢上帝,它在这里。反正....

我已经故意使用与另一个帖子非常相似的标题,因为它已经被回答了,但我不理解。

我希望为我的用户提供一个重置策略,因此请按照文章中的演练进行操作:

Enable self-service password

我正在使用“注册/登录”策略,因此出现错误。我回到这个StackOverflow帖子,并在这篇文章中指出原因:

Password reset doesn't work

这是因为“注册/登录政策:这要求应用程序做一些额外的工作。”

足够好...但是我将重定向代码准确地放在哪里?

2 个答案:

答案 0 :(得分:1)

Azure AD B2C self service password reset link doesn't work中答案的代码示例中,您需要将检查错误代码"AADB2C90118"的内容放入AuthenticationFailed处理程序中-通常位于Startup.Auth.cs中:

在该示例中,处理程序会将用户重定向到"/Account/ResetPassword",这指示ResetPassword中的AccountController方法,从而提出身份验证挑战,将用户重定向到您的密码重置B2C策略。 (只要您在AuthenticationHandler中适当地更新了重定向,就可以将这段代码移至所需的控制器。)

答案 1 :(得分:0)

通过此link,您可以重置密码,而RedirectUri可能不需要手动输入。

public void ResetPassword()
        {
            if (!Request.IsAuthenticated)
            {
                HttpContext.GetOwinContext().Authentication.Challenge(
                new AuthenticationProperties() { RedirectUri = "/" }, Startup.PasswordResetPolicyId);
            }
        }