我的目标是通过图形 API 使用我选择的密码创建 Azure AD B2C 用户,然后让用户在首次登录后经历密码重置体验。
首先,如何让用户进入下次登录时触发密码重置的状态?如果我去reset password在 Azure 中,然后在登录时使用生成的密码,我收到“此密码已过期”错误。假设这是密码策略问题,我一直在尝试使用 Graph API,例如:
user.PasswordPolicies = "DisablePasswordExpiration,DisableStrongPassword";
user.PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = true,
};
我的 Graph API 访问成功,但我仍然无法解决该错误:
"This password has expired"
第二个问题是,我到底如何设置用户流程来实现这一目标?我更喜欢屏幕上的密码重置体验,而不是基于电子邮件的体验。
最有希望的方向似乎是从用户流切换到自定义策略,其中有一个如何实现我的目标的示例:https://github.com/azure-ad-b2c/samples/tree/master/policies/force-password-reset-first-logon .
我的问题是 - 这是否只能通过自定义策略方法来实现?
最佳答案
根据您链接的示例,自定义策略是正确的解决方案。或者使用用户流 v1 流,该流非常有限,它们支持内置的 forceChangePassword
标志。
关于Azure AD B2C - 首次登录场景中的密码重置只能通过自定义策略实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62487331/