Как реализовать SSO с помощью SAML 2.0 без использования WIF?

За экраном

  1. У нас есть два веб-приложения (веб-сайт 1 и веб-сайт 2 [SAML Service]) в разных доменах.
  2. Нам нужно общаться для целей единого входа с помощью SAML 2.0
  3. Веб-сайт 1 создает запрос подтверждения SAML (с использованием сертификата .PFX) и POST на веб-сайт 2 (служба SAML) другого домена.
  4. Веб-сайт 2 принимает этот запрос SAML и запрашивает учетные данные. После проверки веб-сайт 2 перенаправляет на веб-сайт 1 (страницу потребления [AssertionConsumerServiceURL]) с ответом SAML.

Вопрос:

  1. Теперь на веб-сайте 1 (страница потребления [AssertionConsumerServiceURL]), что делать с ответом SAML для использования системы единого входа?
  2. Если пользователь хочет выйти из Сайта 1, как это сделать? для выхода любой другой запрос SAML должен быть отправлен на веб-сайт 2?
  3. Если пользователь выйдет из системы с веб-сайта 2, что же произойдет на веб-сайте 1?
  4. Веб-сайт 1 (Эмитент) - это приложение на основе ASP.Net, а Веб-сайт 2 (URL-адрес целевой службы) - это приложение на основе Java.

Предположение

  1. AS для Google SSO вызывает беспокойство, когда вы входите в учетную запись Google, вам не нужно отделять вход в ORKUT, GMAil. Google 1 это пример SSO и т. Д.

Примечание.

  1. Веб-сайт 1 - это приложение Asp.Net.
  2. Веб-сайт 2 - это служба SAML на основе Java.

Меня больше всего беспокоит то, как работать с ответом SAML в приложении ASP.NET. Я не являюсь экспертом в SAML 2.0 (SSO). Так что, пожалуйста, направьте меня как новичка. Мне нужны ваши комментарии, чтобы уточнить мои знания и фрагмент кода. Как обрабатывать ответ SAML в целях единого входа на веб-сайте 1?


person Shubhajyoti Ghosh    schedule 05.07.2013    source источник
comment
Ultimate SAML может помочь. Их документация объясняет почти все ваши вопросы.   -  person alexey    schedule 19.03.2015


Ответы (1)


  1. Разберитесь, подтвердите подпись. Используйте утверждения, чтобы создать локальный файл cookie для сохранения сеанса пользователя (вы можете использовать проверку подлинности с помощью форм и файлы cookie форм или выпускать файл cookie SessionAuthenticationModule)

  2. Да, вы вручную создаете запрос SAML для выхода и отправки его поставщику удостоверений.

  3. Поставщик удостоверений должен «транслировать» запрос на выход всем приложениям, прошедшим проверку подлинности. Существуют разные реализации для этого, но с точки зрения Website1 это означает, что из браузера будет сделан запрос, который сообщает приложению, что пользователь должен выйти из системы. И технически приложение просто удаляет свой локальный файл cookie.

  4. На самом деле это не имеет значения.

person Wiktor Zychla    schedule 18.07.2013