2017-02-14 29 views
1

Мне было поручено реализовать доказательство концепции SAML2.0 SSO, и я успешно интегрировал расширение spring saml, которое было довольно простым, благодаря автору. Хотя, я все еще не смог получить параметр RelayState, я всегда получаю его значение null при приеме SP.IdP, инициированный saml, полученный на SP, всегда имеет RelayState как null

Я использую SSOCircle's общественного IdP с IdP инициированного потока (хотя мы не блокировали инициированного режим SP) и прилагая RelayState в URL.

Я пытаюсь использовать SAMLRelayStateSuccessHandler, где я мог бы получить параметр RelayState из экземпляра SAMLCredential, но его всегда null. Я проследил его до метода HTTPPostDecoder.doDecode(MessageContext messageContext) (HTTP post binding), и он также был нулевым. Я также проследил URL-адрес сети браузера и заметил, что адрес конечной точки конечной точки SP, то есть /saml/SSO содержит SAMLResponse, но нет параметра RelayState (мое понимание - это отдельный параметр).

Я чувствую IdP, вероятно, не посылая RelayState к моему SP, но и не видит никакой конфигурации на IdP стороны, чтобы включить/отключить его поэтому не уверен.

Я был бы признателен за советы по отладке этого или если кто-то мог поделиться своими подобными переживаниями.

+0

Просьба предоставить сетевую трассировку с потоком http-запросов. Это лучший способ проверить, что RelayState передается IDP. – Hos

+0

@hos Приносим извинения, что ответим на это поздно, и большое спасибо за ваш ответ. Без ответа более 15 дней я отказался и не отслеживал обновления. Еще одна причина, по которой я, возможно, не отслеживал позже, заключается в том, что после моего развития я перешел в Pre-prod с другим IDP (я разработал против общественного IDS ssocircle). Он работал гладко в новом IDP, поэтому я решил, что проблема связана с ssocircle, а не с моим кодом. На самом деле, совсем недавно я понял, что IDS с sococircle тоже начал работать, не уверен, что они вложили некоторые исправления. Трассировка сети, кстати, не переносила RelayState при отправке на мой SP. – Pete

ответ

0

У меня уже нет этой проблемы, но явным образом не добавил никаких исправлений. Мое лучшее предположение - ssocircle, помещенный в исправление на их конце, после которого URL-адрес RelayState начал течь для меня окончательно. Цените помощь от @hos. Не хотел оставлять вопрос открытым, поэтому добавьте это как ответ.