PingFederate Single Log-Off - Как это работает? - PullRequest
5 голосов
/ 23 ноября 2011

Дано:

  • PingFederate - это решение с единым входом (SSO), которое позволяет пользователям проходить проверку подлинности с помощью приложений 1-n с использованием одного имени пользователя и пароля.

Вопросы высокого уровня:

  • Как работает функция однократного выхода из системы (SLO) в PingFederate?
  • А как вообще работает SLO?

Дано:

  • Чтобы начать процесс SLO, мы ожидаем, что пользователь запросит конечную точку SLO из браузера (т.е. https://[PingFederateInstance]/idp/startSLO.ping?PartnerSpId=[PartnerSpId]).
  • И мы можем предположить, что экземпляр PingFederate выдаст перенаправление после успешного вызова SLO.

Конкретные вопросы:

  • Но что если у вас несколько приложений в нескольких окнах браузера?
  • Как поставщик федеративных удостоверений может указать несколько приложений о прекращении их пользовательских сеансов?

1 Ответ

4 голосов
/ 23 ноября 2011

Непосредственно из руководства PingFederate Getting Started:

"Профиль единого выхода из системы (SLO) позволяет пользователю выходить из всех участвующих сайтов в сеансе федерации почти одновременно. Пользователь может выйти из любого сайта, будь то SP или IdP, как определено соответствующими веб-приложениями. Связанное развертывание федерации IdP обрабатывает все запросы на выход и ответы для участвующих сайтов. "

Тем не менее - PingFederate (действующий как IdP) знает, с какими SP вы объединились в данном сеансе. Когда пользователь запускает SLO (из приведенного вами примера - в IdP - он также может быть инициирован из SP), браузер пользователей (при условии привязки Redirect или POST) отправляется каждому SP с SAML LogoutRequest.

Если под «несколькими окнами браузера» вы подразумеваете независимые браузеры / сеансы браузера, то действительно PingFederate не будет знать о выходе из всех IdP. Вам нужно провести общий сеанс среди них. Так что, если это всего лишь несколько окон браузера, но они используют одну и ту же информацию о сеансе (например, файлы cookie), это будет нормально работать.

Для получения дополнительной информации вы можете обратиться к разделу 4.4 Спецификации профилей SAML 2.0: http://docs.oasis -open.org / security / saml / v2.0 / saml-profile-2.0-os.pdf

Имейте в виду, что PingFederate поддерживает больше, чем просто SAML 2.0 - но не все протоколы федерации поддерживают SLO (например, SAML 1.x). Кроме того, многие приложения, не поддерживающие PingFederate SAML, не поддерживают SLO.

...