用户流程“登录 v2”的 AD B2C forceChangePasswordNextLogin 不会启动密码重置并阻止成功登录

2023-11-22

我正在使用图形客户端 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": "[email protected]"
        }
    ]
}

然后就可以正确创建用户了。但是,当我尝试使用“登录 v2”流程以新创建的用户身份登录时,我收到以下错误消息:Invalid username or password.查看登录尝试,失败的尝试全部失败

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

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

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

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


而不是设置密码配置文件.forceChangePasswordNextLogin to true,你可以创建自定义属性 (e.g. 强制重置密码下一步登录),将其设置为true当您创建本地帐户,然后将其作为登录策略中的应用程序声明发布到您的 B2C 应用程序时。登录后,如果设置为true,那么您的 B2C 应用程序就可以启动密码重置策略。密码重置后,您的 B2C 应用程序可以将其设置为false.

你可以另外考虑自定义策略 from 入门包包括密码更改步骤.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户流程“登录 v2”的 AD B2C forceChangePasswordNextLogin 不会启动密码重置并阻止成功登录 的相关文章

随机推荐