【问题标题】:Sails js sessions not working with Microsoft EdgeSails js 会话不适用于 Microsoft Edge
【发布时间】:2017-06-30 01:21:58
【问题描述】:

我继承了一个无法在 Microsoft Edge 中运行的网站。尝试使用 ajax 发布请求时,我会收到 403 错误,CSRF 令牌不匹配。这很奇怪,因为我在每次加载页面时都会更新它们。查看服务器端的请求数据后,我注意到所有这些会话都在创建。没有从客户端发送任何 cookie,它具有会话 id——具有匹配的 CSRF 令牌。

请求如下所示:

$.ajax({
    url: '/main/doThing',
    method: 'POST',
    xhrFields: { withCredentials: true },
    data: {stuff: 3, _csrf: csrf},
});

还有 cookie 设置:

cookie: {
    maxAge: 24 * 60 * 60 * 1000,
    httpOnly: true,
    secure: false,
    path: '/',
}  

我得出的结论是 Edge 没有向服务器发送会话 cookie。

奇怪的是,这适用于我尝试过的所有其他浏览器(Chrome、Firefox、Safari)。那么这会是浏览器的问题吗?我没有在 Edge 中阻止 cookie。

有没有人遇到过类似的问题?它可以修复吗?或者有什么解决方法?

【问题讨论】:

    标签: node.js express sails.js session-cookies microsoft-edge


    【解决方案1】:

    手动执行 Windows 10 更新为我解决了这个问题。以前我的 Edge 为 42 岁,版权所有 2018。现在是 44 岁,版权所有 2019。会话 cookie 现在按预期发送。

    【讨论】:

      【解决方案2】:

      不确定您是否找到了解决方案。我遇到了类似的问题,但它们似乎只是从 Edge 15 开始的。

      如果您找到了解决方案,更新将会很有帮助。谢谢。

      【讨论】:

        猜你喜欢
        • 2015-10-03
        • 2019-02-15
        • 1970-01-01
        • 2023-01-14
        • 1970-01-01
        • 1970-01-01
        • 2023-01-12
        • 2018-06-04
        • 1970-01-01
        相关资源
        最近更新 更多