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

问题描述 投票:1回答:1

我正在使用图形客户端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”流程正确触发密码更改?

azure active-directory azure-active-directory azure-ad-b2c
1个回答
1
投票

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

你可以考虑从a custom policy包括the starter packa password change step

© www.soinside.com 2019 - 2024. All rights reserved.