用户流的AD B2C forceChangePasswordNextLogin“登录v2”不会启动密码重置并阻止成功登录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户流的AD B2C forceChangePasswordNextLogin“登录v2”不会启动密码重置并阻止成功登录相关的知识,希望对你有一定的参考价值。
我正在使用图形客户端API在Azure AD B2C中创建新用户。我发送给api的json看起来如下:
{
"creationType": "LocalAccount",
"passwordProfile": {
"password": "a:898;keJPpN/69X",
"forceChangePasswordNextLogin": true
},
"passwordPolicies": "DisablePasswordExpiration",
"objectId": null,
"accountEnabled": true,
"displayName": "John Doe",
"mailNickname": "john.doe",
"signInNames": [
{
"type": "emailAddress",
"value": "john.doe@provider.com"
}
]
}
然后正确创建用户。但是,一旦我尝试使用流程“登录v2”登录新创建的用户,我收到以下错误消息:Invalid username or password.
查看登录尝试,失败的尝试全部失败
Status: Interrupted
Sign-in error code: 50055
Failure reason: Invalid password, entered expired password.
单击“忘记密码?”启动“密码重置v2”流程。通过电子邮件确认正确触发密码重置流程。输入发送的确认码并设置新密码后,登录按预期工作。
如果我设置"forceChangePasswordNextLogin" : false
,第一次登录按预期工作。但是,在这种情况下,用户不必被迫改变他的一次性密码。所以这不是一个真正的选择。同样有趣的是:当使用流程“登录”(没有v2)时,一切都按预期工作,用户被迫在第一次登录时更改密码。但是,由于此流程不支持自定义样式,因此这也不是一种选择。
在首次登录用户时,我需要做什么才能使“登录v2”流程正确触发密码更改?
您可以创建true
(例如ForceResetPasswordNextLogin),在创建本地帐户时将其设置为a custom attribute,然后将此作为应用程序声明从登录策略发布到您的B2C应用程序,而不是将passwordProfile.forceChangePasswordNextLogin设置为true
。登录后,如果设置为true
,那么您的B2C应用程序可以启动密码重置策略。密码重置后,您的B2C应用程序可以将其设置为false
。
你可以考虑从a custom policy包括the starter pack的a password change step。
以上是关于用户流的AD B2C forceChangePasswordNextLogin“登录v2”不会启动密码重置并阻止成功登录的主要内容,如果未能解决你的问题,请参考以下文章
Azure AD B2C 连接的用户使用 Graph AD API 更改密码
Azure AD B2C密码更改自定义策略,用户每次都需要登录