【问题标题】:WSO2 API Manager Refused to set unsafe header "Cookie"WSO2 API Manager 拒绝设置不安全的标头“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 头?

提前致谢

【问题讨论】:

    标签: cookies header wso2-am


    【解决方案1】:

    其实你不能这样设置 Cookie 标头。

    浏览器限制了您创建 cookie 的方式,允许您仅为特定域和路径以及特定过期时间设置 cookie。

    Cookie头是定义给请求域和路径的所有头的集合,所以你不能直接覆盖这个头。

    设置 HTTP Cookie 涉及发送带有您要设置的值的 Set-Cookie 标头。

    看看这个:

    【讨论】:

    • 非常感谢。我终于通过使用消息中介解决了这个问题。在发布者中我启用了消息中介,然后设置了一个“In Flow”消息。在这个中介中,我设置了我的自定义标头。
    • 请您分享您的中介政策以了解如何设置 cookie?
    猜你喜欢
    • 2013-07-24
    • 2022-07-29
    • 2016-11-30
    • 1970-01-01
    • 2016-01-13
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多