Я предполагаю, что вы имеете в виду [недавно выпущенном] ADFS v2?
Да, ADFS v2 поддерживает WS-Trust (и WS-Federation) и SAML2 пассивные, а WIF поддерживает только WS-Trust (и WS-Federation), а не SAML2 (ни пассивный, ни активный).
WS-Federation использует WS-Trust для выполнения пассивной федерации на основе браузера и во многом похож на пассивный SAML2 - и во многих отношениях это не так. Существенной разницей между WS-Federation и SAML2 пассивным является то, что WS-Federation v1.1 (новая версия, поддерживаемая ADFS v2) поддерживает автоматическое обнаружение метаданных. Вам нужно только указать конечную точку метаданных (URL-адрес) в WS-Federation, тогда как в SAML вам необходимо обменивать документы метаданных каким-то выбранным методом (usb stick, mail и т. Д.).
Я не знаю никаких реальных уязвимостей безопасности в любом протоколе, но подход к обмену метаданными можно обсуждать навсегда. Подход WS-Federation делает многое гораздо проще, например, переключение сертификатов, автоматическое обновление, «бесплатное» автоматическое предоставление новых членов в федерации и т. Д. Однако «ручная» процедура обмена в SAML2 может по крайней мере в теории быть более безопасным.
Что касается того, почему поддержка SAML не включена в WIF, я могу только догадываться. Приличное предположение может быть, что кто-то хочет сайты с помощью WIF в федеративном с ADFS, а не непосредственно с какой-либо другой [третьей стороной] IdP :-)
Является ли базовое шифрование одинаковым между SAML/WS-Fed? Сравнивает ли SAML2 с WS-Fed лучше, чем SAML2 с WS-Trust? Что больше похоже на сравнение яблок с яблоками? – LamonteCristo
Учитывая, что ADFS также поддерживает SAMLP, более вероятно, что команда WIF просто не успела добавить (и проверить) эту функцию. WIF имеет точки расширяемости для добавления других форматов протоколов/токенов. Даже у Microsoft нет бесконечных ресурсов :-) –
@ makerofthings7 Пассивный профиль SAML2 можно сравнить с WS-Fed, поскольку активный SAML2 можно сравнить с WS-Trust (по крайней мере, на высоком уровне). Что касается шифрования, это зависит от конфигурации протокола. Вообще говоря, они поддерживают одни и те же алгоритмы, и, с практической точки зрения, платформа (.Net, Java и т. Д.) Обычно будет ограничивающим фактором, поскольку они часто не поддерживают все варианты, разрешенные спецификациями. Тем не менее, протоколы «требуют» шифрования как таковые, хотя шифрование является хорошей идеей в некоторых ситуациях (например, для доказательств или если конфиденциальность является проблемой). –