Tho*_* D. 6 active-directory azure azure-active-directory azure-ad-b2c
我正在使用图形客户端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"
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后可以正确创建用户。但是,一旦我尝试使用流“ Sign in v2”使用新创建的用户登录,就会收到以下错误消息:Invalid username or password.
查看登录尝试,失败的尝试都失败了,
Status: Interrupted
Sign-in error code: 50055
Failure reason: Invalid password, entered expired password.
Run Code Online (Sandbox Code Playgroud)
通过单击“忘记密码?”来启动“密码重置v2”流程。确实会触发带有电子邮件确认的密码重设流程。输入发送的确认代码并设置新密码后,登录将按预期工作。
如果设置了"forceChangePasswordNextLogin" : false,则第一次登录将按预期进行。但是,在这种情况下,不会迫使用户更改其一次性密码。因此,这实际上不是一个选择。也很有趣:使用“登录”流(不使用v2)时,一切都按预期工作,并且用户在第一次登录时被迫更改密码。但是,由于该流程不支持自定义样式,因此也不是一种选择。
我必须怎么做才能获得“ Sign in v2”流,以便在用户首次登录时正确触发密码更改?
除了将passwordProfile.forceChangePasswordNextLogin设置为true,您还可以创建自定义属性(例如ForceResetPasswordNextLogin),true在创建本地帐户时将其设置为,然后将其作为应用程序声明从登录策略发布到您的 B2C 应用程序。登录后,如果设置为true,则您的 B2C 应用程序可以启动密码重置策略。密码重置后,您的 B2C 应用程序可以将其设置为false.
否则,您可以考虑自定义策略从初始试用包装,包括密码更改步骤。
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |