Я СП. Я пытаюсь помочь IdP надлежащим образом отправить мне (незапрошенные SSO) утверждения SAML. Но случается так, что SAML приходит без подписи.
В моих журналах после инициации фазы обратного вызова возникает сообщение об ошибке:
ERROR -- omniauth: (saml_degreed) Authentication failure! invalid_ticket: OneLogin::RubySaml::ValidationError, Found an unexpected number of Signature Element. SAML Response rejected
Когда я копирую его SAML сообщение от терминала и 64base декодируют его, я вижу переход от элемента <saml:Issuer>
к элементу <saml:Subject>
. Нет элемента <Signature>
.
Когда я говорю ему, что в сообщении, которое я получаю, нет элемента <Signature>
, он отправляет мне (по электронной почте) сообщение, которое он якобы отправляет, с элементом <Signature>
,
Есть ли что-то с моей стороны (SP), что нужно сделать? Найдите ниже мой файл метаданных. Я уже пытался изменить WantAssertionsSigned на «true», а также AuthnRequestsSigned, но все равно не получилось.
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
cacheDuration="PT604800S"
entityID="https://qa.mypage.com">
<md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://qa.mypage.com/students/auth/saml_test/callback"
index="1" />
</md:SPSSODescriptor>
</md:EntityDescriptor>