Получение токена обновления после сброса пароля в Azure AD B2C - PullRequest
0 голосов
/ 02 апреля 2019

Новые пользователи подключаются через автономный процесс.В конце они направляются к пользовательской политике, которая выполняет сброс пароля.Это позволяет пользователю выбирать свой собственный пароль.

По сути, это стандартная политика сброса пароля без необходимости проверки электронной почты.Имя пользователя передается через подписанный токен JWT.

Все это работает, и возвращается действительный токен идентификатора.

Проблема в получении токена обновления после истечения срока действия этого токена.

Мы не нашли способ сделать это.

Установка области «offline_access», похоже, ничего не делает.

Попытка подхода «тихого обновления» (prompt = "none ") возвращает сообщение об ошибке, в котором говорится, что у вас нет сеанса.

Приложения представляют собой SPA, построенные на основе adal.js.

Пример сообщения для сброса пароля:

https://login.microsoftonline.com/tenant.onmicrosoft.com/oauth2/v2.0/authorize? P = B2C_1A_Custom-PasswordReset & client_id = xxx & redirect_uri = yyy & scope = openid% 20offline_access & response_type = id_token & prompt = login & client_assertion_type = urn% 3Aietf% 3Aparath% 3Aution 3Aution 3Aution 3Aetion 3Aetion 3Aetion 3Aetion 3Aetion 3Ajbearer & client_assertion = JWT

Кто-нибудь когда-нибудь получал эту работу?

1 Ответ

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

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

Приложения, использующие неявный поток, должны реализовать тихую аутентификацию для обновления токенов.

Может произойти сбой аутентификации без вывода сообщений, потому что ваше путешествие "Custom-PasswordReset" не включает DefaultSSOSessionProvider Поставщик сеанса SSO для установки утверждений SSO в сеансе пользователя.

В качестве примера см. технический профиль LocalAccount-PasswordSet в примере Wingtip, который вызывается для установки первого пароля для предварительно проверенного пользователя.

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