WSO2 API Manager 拒绝设置不安全的标头“Cookie”
Posted
技术标签:
【中文标题】WSO2 API Manager 拒绝设置不安全的标头“Cookie”【英文标题】:WSO2 API Manager Refused to set unsafe header "Cookie" 【发布时间】:2018-01-17 07:40:36 【问题描述】:我正在使用 wso2 api manager(版本 2.1.0)来公开一些 rest api。我需要将“Cookie”作为标题发送到我的其他一些 API。我使用“API Manager store”来测试 rest api (https://localhost:9443/store) 。但是当我将 Cookie 设置为标头请求时,我在浏览器中看到此日志并调用失败:
拒绝设置不安全的标头“Cookie”
但是当我使用“customHeader”之类的任何其他标题时,它可以正常工作。
在 API_HOME/repository/conf/api-manager.xml 中,我更改了这一行:
<Access-Control-Allow-Headers>Cookie,customHeader,authorization,Access-Control-Allow-Origin,Content-Type,SOAPA</Access-Control-Allow-Headers>
我还在 api manager 发布者 (https://localhost:9443/publisher) 中启用了“启用基于 API 的 CORS 配置”
我真的沉迷于此。 有没有办法在 api manager 中设置 Cookie 头?
提前致谢
【问题讨论】:
【参考方案1】:其实你不能这样设置 Cookie 标头。
浏览器限制了您创建 cookie 的方式,允许您仅为特定域和路径以及特定过期时间设置 cookie。
Cookie头是定义给请求域和路径的所有头的集合,所以你不能直接覆盖这个头。
设置 HTTP Cookie 涉及发送带有您要设置的值的 Set-Cookie 标头。
看看这个:
5.4. The Cookie Header 4.1. Set-Cookie HTTP cookies explained【讨论】:
非常感谢。我终于通过使用消息中介解决了这个问题。在发布者中我启用了消息中介,然后设置了一个“In Flow”消息。在这个中介中,我设置了我的自定义标头。 请您分享您的中介政策以了解如何设置 cookie?以上是关于WSO2 API Manager 拒绝设置不安全的标头“Cookie”的主要内容,如果未能解决你的问题,请参考以下文章
WSO2 API Manager代码问题漏洞(CVE-2022-29464)
WSO2 API Manager代码问题漏洞(CVE-2022-29464)