2015-10-01 6 views
0

В настоящее время у нас есть ADFS 3.0, действующий как шлюз федерации среди нескольких клиентов IDP и нашего веб-приложения. Итак, в целом, для клиентов IDP наша ADFS выступает в роли Relying Party, в то время как для наших домашних веб-приложений на основе .net (с использованием WIF-инфраструктуры) наша ADFS действует как IDP. Наконец, когда пользователь заканчивает работу с веб-приложением, мы получаем все преобразованные заявки от IDP клиента. Один из наших клиентов IDP использует протокол SAML, который хорошо конвертируется в заявки WIF от ADFS, и веб-приложение может читать эти претензии. Но у нас есть новое требование, где нам также нужно будет прочитать нетронутый ответ протокола SAML, который http-отправляется в ADFS клиентом IDP во время рукопожатия SSO. Во время этого HTTP POST в ADFS мы получаем SAMLResponse и RelayState как два разных параметра. Теперь это сообщение преобразуется в WIF-параметры (wa, wresult, wctx) с помощью ADFS и отправляется в наши веб-приложения. Наше веб-приложение, выступающее в качестве полагающейся стороны в ADFS 3.0, настроено на основе пассивных конечных точек WS-Federation. Существует возможность добавления дополнительного SAML Assertion Consumer. Но я не уверен, как я могу смешивать и сопоставлять несколько конечных точек? Любая идея, как я получу параметр SAMLResponse, который был первоначально отправлен в ADFS. Это достижимо?Ответ на SAML-протокол Passthrough ADFS на WIF RP

Заранее благодарен!

ответ

0

SAMLResponse отправляется только на одну конечную точку. Добавление EndPoint не даст вам дополнительной копии.

У ADFS нет порта «span» (исходящая копия для журнала). У обратного прокси/loadbalancer часто есть функция «копирования». Но если токен SAML зашифрован, вам все равно нужен закрытый ключ сертификата ADFS Decryption.

Много работы.

+0

В одной из других частей, которые вы упомянули о добавлении пользовательского HTTP-обработчика или http-модуля в ADFS для получения параметра SAMLResponse. Как я могу продолжить это? Я не хочу расшифровывать его. Все, что мне нужно сделать, это передать его вместе с RP и использовать его далее для вызова клиентов, обеспеченных веб-сервисами. Все это и без каких-либо проблем для интеграции других ВПЛ. Благодарю. – Nile

+0

Путь HttpHandlers и HttpModules закончен. ADFS на S2012R2 и более поздних версиях этого не позволяет. Кроме того, вам придется реализовать протокол SAML2. Это слишком много работы. Просто позвольте ADFS передать его в приложения протокола SAML2. Или я, должно быть, неправильно понял ваш вопрос. – paullem

+0

у нас есть 2 провайдера претензий и одна полагающаяся сторона (.net веб-приложение). Thinktecture IDP и клиентский IDP клиента SAML. ADFS 3.0 для федерации. RP настроен на WS-Fed пассивную конечную точку. Все работает хорошо, как ожидалось. С новым требованием мне нужен фактический SAMLResponse, отправленный в ADFS клиентом SAML IDP. Любые предложения, как я могу это достичь? К сожалению, я не понял вашего предыдущего предложения «Просто позвольте ADFS передать его в приложения SAML2 протокола». Как мне это сделать? Будет ли это иметь какое-либо неблагоприятное воздействие на ThinkTecture IDP? Получает ли мой RP тот же набор требований после внесения изменений? – Nile