Azure AD B2C 密码重置 link 不起作用

Azure AD B2C password reset link doesn't work

顺便说一句,我希望我在 Azure B2C 上所做的每一步都不需要访问 Whosebug。感谢上帝,它在这里。不管怎样....

我故意使用了与另一个post非常相似的标题,因为已经回答了,但我不明白。

我希望为我的用户提供重置政策,因此在 post:

中遵循了 walk-through

Enable self-service password

我正在使用 Signup/SignIn 策略,所以出现错误。我回到这个 Whosebug post 并确定为什么在这个 post:

Password reset doesn't work

是因为"Sign-up/sign-in Policy: This requires the application to do some extra work."

很公平...但是我到底应该把这个重定向代码放在哪里 post???

形成这个link,你可以重新设置密码,RedirectUri可能不需要手动输入。

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

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

在示例中,处理程序会将用户重定向到 "/Account/ResetPassword",这表明 AccountController 中的 ResetPassword 方法,这反过来会提出身份验证挑战以重定向用户为您的密码重置 B2C 政策。 (只要您适当地更新 AuthenticationHandler 中的重定向,就可以将此代码移动到您喜欢的任何控制器。)