2017-02-11 41 views
0

我继承了一个在Microsoft Edge中无效的网站。当试图使用ajax发布请求时,我会得到403错误,CSRF令牌不匹配。这很奇怪,因为我在每次页面加载时更新它们。在查看服务器端的请求数据后,我注意到所有这些会话都正在创建。没有cookie从客户端发送,这将具有会话id-将具有匹配的CSRF令牌。Sails js会话不能与Microsoft Edge一起使用

这里是请求的样子:

$.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: '/', 
} 

结论我来是边缘不发送会话cookie到服务器。

奇怪的部分是,这与我尝试过的每个其他浏览器(Chrome,Firefox,Safari)都适用。那么这是一个浏览器问题?我不会在Edge中阻止Cookie。

有没有人遇到类似的问题?它可以修复吗?还是有解决方法?

回答

0

不知道你是否曾经找到过解决方案。我有类似的问题,但他们似乎只有Edge 15开始。

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

相关问题