Identity Server不验证SAML LogoutRequest签名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Identity Server不验证SAML LogoutRequest签名相关的知识,希望对你有一定的参考价值。

我已经运行了WSO2 IS,并且设置了SAML入站身份验证的服务提供商。我已启用SAMl服务提供商的“在身份验证请求和登出请求中启用签名验证”复选框。

如果我发送未正确签名的AuthnRequest,则会出错。但是,如果我发送没有签名的LogoutRequest(或者使用完全不同的证书/密钥签名),它会将我的用户注销而不会出错。如何启用WSO2 IS的实际签名验证?

我正在运行最新的WSO2 Docker Container。根据这个启动日志记录,我认为这是IS 5.7.0:

Starting WSO2 Carbon... Operating System : Linux 4.9.93-linuxkit-aufs, amd64 Java Home : /home/wso2carbon/java/jre Java Version : 1.8.0_144 Java VM : Java HotSpot(TM) 64-Bit Server VM 25.144-b01,Oracle Corporation Carbon Home : /home/wso2carbon/wso2is-5.7.0 Java Temp Dir : /home/wso2carbon/wso2is-5.7.0/tmp

答案

似乎签名验证[1]由于代码中的问题而在注销请求中跳过。请参考git问题[2]来跟踪这个。

[1] https://github.com/wso2-extensions/identity-inbound-auth-saml/blob/ee338982c1add8f75f1132a6b3bacb30cee7989b/components/org.wso2.carbon.identity.sso.saml/src/main/java/org/wso2/carbon/identity/sso/saml/processors/SPInitLogoutRequestProcessor.java#L130 [2] https://github.com/wso2/product-is/issues/4048

以上是关于Identity Server不验证SAML LogoutRequest签名的主要内容,如果未能解决你的问题,请参考以下文章

使用 ITfoxtec.Identity.Saml2 登录用户

ITfoxtec.Identity.Saml2.Saml2RequestException:“不完全是一个断言元素。”

itfoxtec-identity-saml2 中的方法 ValidateRelyingParty 从哪里派生?

WSO2 Identity Server 4.5 上的单次注销

ITfoxtec.Identity.Saml2 无效 URI 问题

支持基于SAML 2.0的联合身份验证,支持SQL Server数据库管理和审计,JumpServer堡垒机v2.17.0发布