Cors 在'中接收多个值;访问控制允许原点';PDP API响应WSO2IS 5.10.0的标题

Cors 在'中接收多个值;访问控制允许原点';PDP API响应WSO2IS 5.10.0的标题,cors,wso2is,Cors,Wso2is,我正在使用WSO2IS的PDP端点,飞行前请求的响应在Access Control Allow Origin标头中包含多个值,这在浏览器中造成了问题: 我的web.xml配置如下所示: <filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> &l

我正在使用WSO2IS的PDP端点,飞行前请求的响应在Access Control Allow Origin标头中包含多个值,这在浏览器中造成了问题:

我的web.xml配置如下所示:

 <filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    <init-param>
        <param-name>cors.allowOrigin</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportedMethods</param-name>
        <param-value>GET, HEAD, POST, DELETE, OPTIONS, PATCH, PUT</param-value>
    </init-param>
    <init-param>
               <param-name>cors.exposedHeaders</param-name>
               <param-value>Access-Control-Allow-Origin, Location</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

科尔斯
com.thetransactioncompany.cors.CORSFilter
金鸡儿
*
cors.supportedMethods
获取、标题、发布、删除、选项、修补、放置
cors.exposedHeaders
访问控制允许原点、位置
科尔斯
/*
要求
向前地
控制台中的确切日志:

通过“https://{base url}:9443/api/identity/entity/decision/pdp”从源站访问XMLHttpRequesthttp://localhost:8000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:'访问控制允许来源'标头包含多个值'*,http://localhost:8000',但只有一个是允许的

我尝试了链接中提供的建议:


此配置有什么问题,或者我需要更改其他配置才能使其正常工作?

如果您尝试使用is版本5.11,则必须将[1]中给出的此配置应用于deploymet.toml文件。从5.11开始,我们将使用新的cors配置模型[2]。因此[1]仅适用于IS5.11.0以后的版本。因此,应用文档[1]中给出的配置对以前的版本不起作用

由于您使用的是IS5.10.0(如果不是5.10.0 wum更新包),请将以下配置添加到位于/repository/resources/conf/templates/repository/conf/tomcat/web.xml.j2的web.xml.j2文件中

<filter-name>CORS</filter-name>
     <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
     <init-param>
         <param-name>cors.allowOrigin</param-name>
         <param-value>*</param-value>
     </init-param>
    <init-param>
             <param-name>cors.exposedHeaders</param-name>
             <param-value>Location</param-value>
         </init-param>
         <init-param>
             <param-name>cors.supportedMethods</param-name>
             <param-value>GET, HEAD, POST, DELETE, OPTIONS, PATCH, PUT</param-value>
         </init-param>
     </filter>
    
     <filter-mapping>
         <filter-name>CORS</filter-name>
         <url-pattern>/*</url-pattern>
         <dispatcher>FORWARD</dispatcher>
         <dispatcher>REQUEST</dispatcher>
     </filter-mapping>
CORS
com.thetransactioncompany.cors.CORSFilter
金鸡儿
*
cors.exposedHeaders
位置
cors.supportedMethods
获取、标题、发布、删除、选项、修补、放置
科尔斯
/*
向前地
要求
如果您使用的是5.10.0 wum包,则需要将配置添加到deployment.toml文件中。请参阅git问题[3]

[1]

[2]


[3]

您可以添加您得到的响应和控制台错误吗?人们可以很容易地验证响应和配置。我在web.xml.j2中的配置与我在上面发布的配置相同,但唯一的区别是exposedHeaders的值,其中包括“Access Control Allow Origin”和“Location”。此外,我尝试删除“Access Control Allow Origin”(访问控制允许源站),但没有成功。您是否可以尝试在不允许全部访问的情况下在中添加特定url?验证它是否可以帮助ypuI尝试此操作,但未解决问题。