wso2 - Identity Server 不验证 SAML LogoutRequest 签名
问题描述
我已经运行了 WSO2 IS 和一个设置了 SAML 入站身份验证的服务提供商。我为 SAMl 服务提供商启用了“在身份验证请求和注销请求中启用签名验证”复选框。
如果我发送未正确签名的 AuthnRequest,它将出错。但是,如果我发送一个没有签名的 LogoutRequest(或使用完全不同的证书/密钥制作的签名),它会将我的用户注销而不会出错。如何启用实际签名验证 WSO2 IS?
我正在运行最新的 WSO2 Docker 容器。根据此启动记录,我相信这是 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
推荐阅读
- android - 为什么矢量图像在 API < 24 Android Studio 中表现异常
- python - 如何从 Git 存储库 URL 中提取目录名称?
- android - 位置:粘性;放大时不适用于 Android 设备
- javascript - react-native webview中的程序“按钮”导航到同一webview中的URL
- reactjs - React handleOnSubmit() 需要点击两次
- javascript - Javascript合并具有相同值的数组
- azure - 使用 Service Principal Login 和 pulumi 配置中的连接信息时出现 Pulumi 错误
- javascript - 如何在画布上绘制带有对象的对象并在不绘制的情况下移动对象?
- java - 我如何阻止球离开屏幕?
- lightningchart - 以编程方式拖动 Lightningchart 的图表