Мне было поручено реализовать доказательство концепции 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
стороны, чтобы включить/отключить его поэтому не уверен.
Я был бы признателен за советы по отладке этого или если кто-то мог поделиться своими подобными переживаниями.
Просьба предоставить сетевую трассировку с потоком http-запросов. Это лучший способ проверить, что RelayState передается IDP. – Hos
@hos Приносим извинения, что ответим на это поздно, и большое спасибо за ваш ответ. Без ответа более 15 дней я отказался и не отслеживал обновления. Еще одна причина, по которой я, возможно, не отслеживал позже, заключается в том, что после моего развития я перешел в Pre-prod с другим IDP (я разработал против общественного IDS ssocircle). Он работал гладко в новом IDP, поэтому я решил, что проблема связана с ssocircle, а не с моим кодом. На самом деле, совсем недавно я понял, что IDS с sococircle тоже начал работать, не уверен, что они вложили некоторые исправления. Трассировка сети, кстати, не переносила RelayState при отправке на мой SP. – Pete