gpt4 book ai didi

azure - 用户流 "Sign in v2"的 AD B2C forceChangePasswordNextLogin 不会启动密码重置并阻止成功登录

转载 作者:行者123 更新时间:2023-12-04 12:38:54 26 4
gpt4 key购买 nike

我正在使用图形客户端 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": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1872777076367c777d58686a776e717c7d6a367b7775" rel="noreferrer noopener nofollow">[email protected]</a>"
}
]
}

然后用户就被正确创建了。但是,当我尝试使用“登录 v2”流程以新创建的用户身份登录时,我收到以下错误消息:用户名或密码无效。查看登录尝试,失败的尝试全部失败,并显示

Status: Interrupted
Sign-in error code: 50055
Failure reason: Invalid password, entered expired password.

通过单击“忘记密码?”启动“密码重置 v2”流程通过电子邮件确认正确触发密码重置流程。输入发送的确认码并设置新密码后,登录按预期进行。

如果我设置“forceChangePasswordNextLogin”:false,则首次登录将按预期工作。然而,在这种情况下,用户不会被迫更改其一次性密码。所以这并不是一个真正的选择。同样有趣的是:当使用流程“登录”(没有 v2)时,一切都按预期进行,并且用户在第一次登录时被迫更改密码。但是,由于此流程不支持自定义样式,因此这也不是一个选项。

我需要做什么才能让“登录 v2”流程在用户首次登录时正确触发密码更改?

最佳答案

您可以创建 a custom attribute,而不是将 passwordProfile.forceChangePasswordNextLogin 设置为 true (例如 ForceResetPasswordNextLogin),在创建本地帐户时将其设置为 true,然后将其作为应用程序声明从登录策略发出到您的 B2C 应用程序。登录后,如果设置为 true,则您的 B2C 应用程序可以启动密码重置策略。密码重置后,您的 B2C 应用程序可以将其设置为 false

您还可以考虑a custom policy来自the starter pack其中包括a password change step .

关于azure - 用户流 "Sign in v2"的 AD B2C forceChangePasswordNextLogin 不会启动密码重置并阻止成功登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com