AssertionConsumerServiceURL из AuthnRequest не из Config
Заметил, что Saml2AuthnResponse
Destionation
устанавливается на основе relyingParty.SingleSignOnDestination
который извлекается из "конфигурации" (массив relyingParties с жестким кодом).
я думаю Destination
должно основываться на том, что установлено в AuthnRequest
samlp:AuthnRequest
-> AssertionConsumerServiceURL
и использовать relyingParty
Destination
может быть, как запасной вариант, если его нет в AuthnRequest
, но из того, что я вижу каждый AuthnRequest
содержит URL-адрес ACS.
Или есть причина, почему это реализовано таким образом?
Спасибо
1 ответ
Это часть безопасности только для воспроизведения известных URL / доменов. Поэтому важно настроить relyingParty.SingleSignOnDestination
для каждой проверяющей стороны.
Чтобы иметь динамический URL-адрес ответа, вы можете расширить код, чтобы убедиться, что authnRequest.AssertionConsumerServiceUrl
начинается со значения в relyingParty.SingleSignOnDestination
,
Например, значение в relyingParty.SingleSignOnDestination
может быть " https://somedomain.com/" и тем самым принимать разные authnRequest.AssertionConsumerServiceUrl
например " https://somedomain.com/auth/AssertionConsumerService" или " https://somedomain.com/acs"