2016-12-30 21 views
0

Я настроил WSO2 Identity Server как IDP и два приложения настроены как SP. Все работает отлично, за исключением нескольких вещей:Spring SAML SSO не обменивается сеансом

  • , когда я вышел из системы из одного приложения, другое приложение не видите, что я вышел из системы

  • , когда я войти в систему в одно приложение, другое приложение дон что я зарегистрирован в

IMHO, есть основные принципы SSO и SLO.

Когда я проверяю SecurityContextHolder.getContext().getAuthentication(), после выхода из системы или регистрации в другом приложении никаких изменений не будет.

Возможно, мне нужно позвонить на страницу WSO2/samlsso перед каждым URL-адресом нагрузки?

Что я могу сделать неправильно? Как получить из другого приложения, этот пользователь вышел из системы/зарегистрировался?

EDIT:

Например, WSO2 API менеджер магазина есть такой механизм:

  • , когда я вышел из системы из моего приложения и перезагрузите страницу магазина, то происходит перенаправление на главную не вошедшую страницу в магазине. То же самое с логином.

UPDATE:

Я нашел проблему в классе org.springframework.security.saml.websso.SingleLogoutProfileImpl. Когда запрос на выход выходит из WSO2 IS, объекты Authentication и SAMLCredential являются нулями и ошибкой No user is logged in, но для реального пользователя, все еще зарегистрированного в приложении Spring SAML.

же обсуждение было here, но без эффекта: \

ответ

0

Мы используем travelocity.com и avis.com веб-приложение для теста SAML2 SSO. Вы можете найти более подробную информацию здесь [1]. Кроме того, вы можете проверить эту документацию [2] Регистрация двух поставщиков услуг на сервере идентификации и последующие шаги от 1 до 8.

[1] https://docs.wso2.com/display/IS500/Configuring+Single+Sign-On+with+SAML+2.0

[2] https://docs.wso2.com/display/IS500/Customizing+Login+Pages

+0

Уже настроен. –

1

Вы должны проверить, является ли оба приложения называют идентификацией сервера (IS) с тем же именем хоста. Например. https://is.blahblah.com/samlsso.

IS сеанс основан на куки-файлах (cookie «commonAuthId» и «samlssoTokenId»). Если приложения вызывают IS с использованием двух разных имен хостов, на стороне IS будет создано два разных сеанса. Для SSO и SLO должно случиться, что оба приложения должны использовать один сеанс IS.

+0

те же домены: https: // localhost: 9444/samlsso –

 Смежные вопросы

  • Нет связанных вопросов^_^