Прочитайте ответ SAML, полученный из Azure Active Directory, используя Java - PullRequest
0 голосов
/ 24 августа 2018

Я новичок в Azure Active Directory (AAD). До сих пор я создал Enterprise Application в Azure AD и в настройках этого приложения я выбрал встроенную аутентификацию Windows (IWA) для Single sign-on option. В этом случае я настроил прокси приложения, и pre-authentication имеет значение AAD, а internal URL - это URL-адрес моего веб-приложения на основе Java.

На другой стороне соединитель AAD устанавливается с федерацией как ADFS.

Теперь поток таков: когда я нажимаю User access URL (URL-адрес для корпоративного приложения), он вызывает запрос на проверку домена и после успешной проверки перенаправляет его на мою локальную форму AD. после успешной аутентификации в ADFS он перенаправляется в мое веб-приложение.

Теперь я получаю ответ SAML.

Мой вопрос: как я могу прочитать этот ответ SAML, используя Java, AFA, как я обнаружил, ADAL - один из способов сделать это. здесь - это пример проекта, который я нашел.

Но не нашел это полезным в моем случае. Любой другой способ прочитать этот ответ, или любое изменение.

Вопрос может быть широким: тогда есть предложение или ссылка для того же?

Обновление:

Моя заявка не получила SAML ответа напрямую. ответ, полученный через прокси приложения, который не является SAML. Или мы можем добавить некоторые пользовательские заголовки в ответ на отправку через прокси приложения. Пожалуйста, найдите изображение ниже для лучшего понимания

SAML tracer: trace for login sequence

Update2:

Можно ли отправлять настраиваемый заголовок в ответном сообщении через прокси приложения Azure?

В настоящее время заголовки получения

  1. подключение
  2. authorizationNegotiate
  3. печенье
  4. хозяин
  5. другие, такие как x-forwarded-by, язык, кодировка

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Похоже, что это может быть что-то не так с вашей настройкой, но в настоящее время ограничением для прокси приложения Azure AD является то, что он не может передавать токен SAML во внутреннее веб-приложение для единого входа.

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

Надеюсь, это поможет!

  1. Прокси приложения - SAML как опция SSO https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/33318022-app-proxy-saml-as-sso-option

    Здесь они упоминают, что работа над элементом начинается, и даже предлагает обойти и поделиться контактной информацией, чтобы запросить более подробную информацию.

    enter image description here

  2. Включить токены SAML для прохождения через прокси приложения Azure на внутренний сайт https://feedback.azure.com/forums/374982-azure-active-directory-application-requests/suggestions/19204666-enable-saml-tokens-to-flow-through-azure-applicati

    Это объясняет саму проблему более подробно

    enter image description here


Обновление. Вот описание ответа, полученного от группы обратной связи Azure AD

Часть 1. Настройка приложения в прокси приложения

Шаг 1. Добавьте новое корпоративное приложение и выберите опцию «локальное приложение». Заполните информацию о приложении внутренним URL-адресом, который является идентификатором приложения, и внешним URL-адресом, который вы хотите, чтобы ваши пользователи использовали в качестве внешнего. Убедитесь, что вы выбрали группу соединителей, которая содержит соединители с доступом к приложению - если вы только выполнили шаги в части 0 и не создали новые группы соединителей, правильная группа - «По умолчанию».

enter image description here

Шаг 2. Назначение пользователей приложению через меню «Пользователи и группы»

enter image description here

Часть 2. Настройка приложения SAML

Шаг 1. Добавьте другое приложение, но на этот раз выберите Приложение без галереи

enter image description here

Шаг 2. Поскольку пользователи назначаются через приложение Application Proxy, их не нужно назначать здесь. В меню свойств отключите поле «Требуется назначение пользователя».

Шаг 3. Настройте параметры единого входа в соответствующем меню. Выберите «Вход в систему на основе SAML». Укажите идентификатор приложения для вашего приложения. Поместите URL-адрес ответа в качестве внешнего URL-адреса прокси приложения (настроено в части 1, шаг 1). Выберите тип идентификатора пользователя и добавьте сертификат подписи для токенов. Ваше приложение готово к использованию. Доступ к нему можно получить по внешнему URL-адресу прокси-сервера приложения или через панель доступа.

enter image description here

0 голосов
/ 26 августа 2018

ADAL - это библиотека, используемая для OpenID Connect, а не SAML.

Посмотрите код для Spring Security или OpenSAML - как с открытым исходным кодом, так и с Java.

По сути, это просто XML.

Есть также онлайн-инструменты , которые дадут вам несколько советов.

...