Единый вход Azure AD B2C между приложениями - PullRequest
0 голосов
/ 11 июня 2018

мы пытаемся внедрить единый вход для нескольких наших приложений, чтобы пользователи могли один раз войти в систему, а затем легко переключаться между приложениями.Для этого мы используем Azure AD B2C для хранения наших пользователей и смогли реализовать вход в систему с помощью нашего первого приложения.Однако теперь мы сталкиваемся с проблемами, когда пользователь переключается на другое приложение: кажется, что без отправки пользователя в политику входа в систему и повторения процедуры входа в систему невозможно авторизовать пользователя во втором приложении.

Вот что мы сейчас делаем:

  1. Пользователь отправляется на настроенную Политику входа (https://login.microsoftonline.com/mytennant.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_webapp1_login&somemore=parameters) и входит в систему.
  2. Пользователь отправляется обратнок нашему WebApp1 с параметрами id_token и code, которые мы используем для создания пользовательского сеанса в WebApp1
  3. Когда пользователь обращается к WebApp2, мы отправляем через code с шага 2 и используем его в WebApp2 для запроса доступатокен из Azure AD B2C (https://login.microsoftonline.com/mytennant.onmicrosoft.com/oauth2/v2.0/token?p=B2C_1_webapp2_login)

Однако при выполнении шага 3 мы всегда получаем следующую ошибку из Azure:

AADB2C90088: предоставленный грант не был выдандля этой конечной точки. Фактическое значение: B2C_1_webapp1_login и ожидаемое значение: B2C_1_webapp2_login

Ошибка довольно очевидна, но мы просто не знаем, какВокруг этого.Мы перечитываем документацию снова и снова, но не можем найти подсказку, как это исправить.

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

Спасибо,

Мориц

1 Ответ

0 голосов
/ 12 июня 2018

Вы не можете использовать код, сгенерированный из другой Политики.(См. Документацию - Получить токен в параметре "p".)

Существует ли причина, по которой вы используете другую политику для второго веб-приложения?Вы можете просто создать новое приложение в B2C и настроить его на ту же политику, что и для приложения 1. Или вам придется повторить шаги 1 и 2 для второго приложения и полагаться на конфигурацию единого входа.

...