AD B2C forceChangePasswordNextLogin для пользовательского потока «Вход в v2» не инициирует сброс пароля и препятствует успешному входу в систему - PullRequest
4 голосов
/ 19 апреля 2019

Я создаю новых пользователей в Azure AD B2C, используя API-интерфейс графического клиента.JSON, который я посылаю в API, выглядит следующим образом:

{
    "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. При попытке входа в систему все неудачные попытки оказались неудачными с

* 1006.*

Запуск потока «Password reset v2», нажав «Забыли пароль?»правильно запускает поток сброса пароля с подтверждением по электронной почте.После ввода отправленного кода подтверждения и установки нового пароля, логин работает, как и ожидалось.

Если я установил "forceChangePasswordNextLogin" : false, первый логин работает, как и ожидалось.Однако в этом случае пользователь не обязан менять свой одноразовый пароль.Так что это не совсем вариант.Также интересно: при использовании потока «Вход» (без v2) все работает как положено и пользователь вынужден сменить пароль при первом входе в систему.Однако, поскольку этот поток не поддерживает пользовательские стили, это также не вариант.

Что мне нужно сделать, чтобы поток «Вход в v2» корректно инициировал изменение пароля при первом входе в системупользователь?

1 Ответ

1 голос
/ 23 апреля 2019

Вместо установки passwordProfile.forceChangePasswordNextLogin до true вы можете создать пользовательский атрибут (например, ForceResetPasswordNextLogin ), установите для него значение true, когдавы создаете локальную учетную запись, а затем отправляете ее как заявку на приложение из политики входа в приложение B2C.Если после входа в систему установлено значение true, приложение B2C может инициировать политику сброса пароля.После сброса пароля ваше приложение B2C может установить для него значение false.

В противном случае вы можете использовать пользовательскую политику из начального пакета , включающего шаг изменения пароля .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...