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。
有没有人遇到类似的问题?它可以修复吗?还是有解决方法?