Azure AD B2C密码更改自定义策略,用户每次都需要登录

Azure AD B2C password change custom policy, user needs to sign in every time

我已经根据 the documentation 实施了密码更改自定义策略,并在前端使用 msal.js 来启动密码更改流程。尽管用户已经登录到应用程序,但该工作接受用户需要再次登录。所以它每次都会询问用户凭据。为什么 B2C 检测不到用户已经登录,我该如何解决? 谢谢!

MSAL.js是设置提示参数,因此,强制B2C忽略cookie,因此,强制sign-in.

const urlNavigate = authenticationRequest.createNavigateUrl(scopes) + "&prompt=select_account" + "&response_mode=fragment";

Source

您可以通过 URL MSAL.js 将用户重定向到并删除提示查询参数来验证这一点。


相关 GitHub 问题:Allow Controlling the prompt parameter。我们需要说服 MSAL 库所有者我们需要控制此参数。

如果您尝试通过 B2C 自定义策略 "Run now" 端点进行测试,只需从 link 中删除 &prompt=login 查询参数。如果您已经登录,它将跳过登录,如果您没有登录,它仍会提示您输入凭据。

感谢 Jas Suri: