Реализация SAML 2.0 в.NET, какую библиотеку использовать
Мы собираемся внедрить поддержку SAML 2.0 в нашей компании и проходим длинный список библиотек ( из Википедии), которые позволили бы нам реализовать такую идентификацию для наших систем более практично (мы являемся Service Provider
).
Недавно я обнаружил, что.NET 4.5 поставляется с встроенной поддержкой SAML 2.0 через WIF (Windows Identity Foundation). Однако, имея встроенную поддержку.NET, стоит ли нам использовать популярные сторонние библиотеки, такие как ComponentSpace (или что-нибудь лучше, возможно)? Есть ли какие-либо преимущества в отношении простоты использования, более широких настроек, гибкости или документации?
2 ответа
WIF не поддерживает SAML (протокол). Он поддерживает WS-Fed с токенами SAML. Если вы действительно хотите перейти на SAML (протокол), вам нужно использовать какую-то другую библиотеку, например, ComponentOne.
TL; DR: WIF, по крайней мере теоретически, может также выполнять SAML-P, если вы расширяете его. Microsoft написала эти расширения в качестве " предварительного просмотра" в 2011 году, но с тех пор не обновляла их. Вы можете сделать это тоже, используя модель расширения WIF. У большинства людей, которых я знаю, есть дела поважнее:-).
В общем, я бы рекомендовал использовать более простой синтаксически более простой протокол, такой как OpenID Connect. Много простых в использовании, проще для отладки, устранения неполадок библиотек там.
Взгляните на SAML: SAML подключения / инструментарий и ссылки в нем.
Воспользовавшись ComponentSpace, он работает и имеет хороший выбор образцов, а стоимость довольно разумная.
Очевидно, коммерческая = поддержка.
Не уверен насчет вашего варианта использования, но вы можете установить ADFS и затем перейти:
ASP.NET -> WS-Fed (WIF) -> ADFS -> SAML -> IP.