0

我是SP。我正在尝试帮助 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 解码时,我看到的是从 element <saml:Issuer>到 element的跳转<saml:Subject>。没有<Signature>元素。

当我告诉他我收到的消息中没有<Signature>元素时,他(通过电子邮件)向我发送了他应该发送的消息,带有<Signature>元素。

我这边(SP)有什么事情要做吗?在我的元数据文件下方找到。我已经尝试将 WantAssertionsSigned 以及 AuthnRequestsSigned 更改为“true”,但仍然失败。

<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>
4

0 回答 0