在SAML响应中导致响应者状态的原因



我有很多时间使用我们的平台与客户端设置SAML集成。我们正在使用Onelogin的PHP SDK来担任服务提供商。不确定他们用作身份提供商或是否是自定义的东西。

似乎无论我们做什么,我们从他们那里收到的authn响应具有状态: urn:oasis:names:tc:SAML:2.0:status:Responder

当我在这里阅读时,这意味着他们的身边存在问题(我们不知道什么)。等效于500 php。

我正在与他们一起工作的那个人是 sure 这是配置不匹配的问题。他们要么没有提供正确的主张,要么没有签署我们要他们签名的部分,等等。

但是,如果是这样...他们仍然不会向我们发送成功状态的回复吗?也许如果他们没有正确签名,我们会在上遇到错误。但是我不会期望从他们那里获得"响应者"状态。

任何人都可以确认我正在做正确的假设或直截了当我错了吗?

是的,您是正确的。在消息到达您的身边之前,这两个错误不会注意到。它是其他的,不可能找到看着它们一边的日志。

通常,在大多数情况下,由于签名算法的不匹配而出现问题。在我们的情况下,我们使用的是Spring SAML,并且由于Spring SAML默认使用SHA-1,而IDP使用了不同的签名算法(SHA-256)。因此,由于算法不匹配,我们还会收到相同的响应urn:oasis:names:tc:SAML:2.0:status:Responder, status message is null,而您使用的其他库可能会发生与IDP集成的其他库。

以下是带有Spring SAML安全的例外跟踪。

Caused by: org.opensaml.common.SAMLException: Response has invalid status code urn:oasis:names:tc:SAML:2.0:status:Responder, status message is null
org.springframework.security.saml.websso.WebSSOProfileConsumerImpl.processAuthenticationResponse(WebSSOProfileConsumerImpl.java:113)
at org.springframework.security.saml.SAMLAuthenticationProvider.authenticate(SAMLAuthenticationProvider.java:82)

最新更新