Настраиваемая служба STS для веб-SSO

У нас запущено веб-приложение с выходом в Интернет, и недавно наша компания заключила несколько соглашений со сторонней компанией, которой принадлежит другой веб-сайт. Идея состоит в том, чтобы предоставить доступ к этому внешнему веб-сайту нашим текущим клиентам. Наши пользователи будут нажимать внутреннюю ссылку в нашем решении, которая откроет новое окно браузера со сторонним сайтом. Пользователю не нужно будет повторно проходить аутентификацию на сайте сторонней компании. Мы согласились выдавать токены SAML2 для наших пользователей с набором утверждений, используемых сторонним сайтом для запроса предоставления персонализированного представления нашим пользователям.

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

Как лучше всего это реализовать? Я думаю о реализации пользовательской STS с использованием WIF SDK для создания этих токенов SAML2 и передачи их с помощью HTTP POST (cookie) на сторонний сайт. Если это правильный подход, то какие-нибудь указатели, советы? Будет ли ADFS иметь значение?

Спасибо за любую помощь


person user1365571    schedule 03.12.2012    source источник


Ответы (2)


Если ваше приложение — ASP.NET, подключите его к ADFS.

Таким образом, чтобы получить доступ к вашему приложению, пользователь должен войти в систему.

Затем для ссылки на стороннее приложение используйте сценарий IDP Initiated (Обзор класса IdpInitiatedSignOnPage< /а>). Это отправляет токен SAML2 стороннему приложению. ADFS будет обрабатывать единый вход за вас.

Для этого вам нужно будет настроить стороннее приложение как SAML, а не WS-Fed.

person rbrayb    schedule 03.12.2012

Похоже, вы будете играть роль поставщика удостоверений, отвечающего за обработку «ручной» аутентификации пользователя и создание ответов SAML для предоставления пользователю единого входа на сторонний веб-сайт.

Внедрение собственного поставщика удостоверений не является тривиальной задачей (есть несколько спецификаций, которые необходимо понять), поэтому, если вы Если вы настроены на это как на проект разработки, вы можете рассмотреть COTS, такие как Microsoft ADFS, PortalGuard (на кого я работаю) или Ping Identity.

Поскольку вы спросили конкретно о ADFS, он имеет встроенную поддержку Active Directory в качестве репозитория пользователей и имеет некоторые интересные функции с механизмом преобразования утверждений (если вы попадаете в сложный сценарий цепочки SP-IdP). Помимо SAML, он также поддерживает WS-Federation, что важно для интеграции с другими предложениями в стеке Microsoft.

person Gregg Browinski    schedule 03.12.2012
comment
Я согласен с вами, и я не хотел бы идти по этому пути .. Спасибо - person user1365571; 04.12.2012