SSO через AAD не работает с MS Edge (chromium) в режиме IE

#azure-active-directory #microsoft-edge-chromium

Вопрос:

Мы перешли от поставщика удостоверений личности NAM к AzureAD. MS Edge_C используется Enterprise Mode Site List для принудительного включения режима IE для приложения.

В новом сеансе пользователь перенаправляется (ПОЛУЧАЕТ) из нашего приложения на login.microsoftonline.com через SAML. После выбора учетной записи в службу аутентификации компании отправляется еще одно перенаправление, которое успешно аутентифицирует пользователя. Ответ SAML отправляется в приложение по ПОЧТЕ.

Так и должно быть, и именно так было с NAM (который напрямую аутентифицировал пользователя). Но с момента перехода на AzureAD последняя запись в приложении нарушена. Наше приложение получает запрос GET без параметров, связанных с SAML, и, следовательно, единый вход завершается ошибкой. Без режима IE это работает, но так как это устаревшее приложение, мы должны использовать режим IE.

Тот же процесс непосредственно в IE11 работает, как и ожидалось.

Кто-нибудь знает, что может быть не так с ответом AzureAD? Похоже, что-то раздражает Edge_C в ответе, поэтому изменение «Не в режиме IE» (login.mso.com) в «Режим IE» (приложение) сбрасывает СООБЩЕНИЕ, и выполняется получение.

Я был бы признателен за любые идеи, которые помогут нам решить эту проблему.

Ответ №1:

После долгого сеанса отладки решение оказалось действительно простым:

Это гарантирует, что служба единого входа используется в том же экземпляре браузера, что и приложение, запустившее единый вход. Никакого переключения между Edge и IE не происходит.

  • Приложение использует режим IE -> Служба единого входа использует режим IE
  • Приложение использует пограничный режим -> Служба единого входа использует пограничный режим