如何扩展 ESAPI 中的 http 请求参数长度限制?

问题描述

我在我的工作环境中使用 OpenIAM 作为 SSO 平台。 当我尝试集成另一个支持 SAML 2.0 的 Web 系统时, 我收到一条错误消息,提示“SAMLRequest 参数超过 2000 个字符限制”

OpenIAM 支持说 ESAPI 在其验证器中有 2,000 个字符的限制,并且无法扩展它。

有什么方法可以使用 .properties 文件或 java 命令行参数来扩展 ESAPI 中 HTTP 请求参数长度的限制,以便我可以集成我的 Web 应用程序?

解决方法

这是我们在 5 年前 ESAPI 修复的错误。如果 OpenIAM 升级到 >= 2.2.3.1,这将成为 ESAPI.properties

中的可配置参数

特别是MaxHeaderValueSize

默认值是 4096,这对于大多数应用程序来说是相当宽松的。在此之前,默认大小为 2000,而在此之前为 100。我建议您查看对这么大的值的实际需求。