在我的Meteor(1.2)应用程序中,我通过https对支持CORS的远程服务器进行客户端 HTTP.get调用。
var getUrl= "https://remoteserver/;
HTTP.call('GET', getUrl , {}, function (error, response) {
console.log (response);
}
现在,问题是 Chrome的DevTools网络标签中此类HTTP调用响应的HTTP标头中 set-cookie 字符串存在
但是,当我调用console.log(响应)时,它们不包括在内。实际上只有这3个属性打印在响应['标题'] :
中进一步挖掘,我发现Meteor Docs
Cookie被故意排除在标题之外,因为它们是此传输的安全风险。有关详细信息和替代方法,请参阅SockJS文档。
现在,在链接的SockJS docs上,它表示
基本上 - cookies不适合SockJS模型。如果要授权会话 - 在页面上提供唯一标记,首先将其作为SockJS连接发送,并在服务器端验证它。实质上,这就是cookie的工作方式。
我发现这个this answer关于sockJS,但它看起来过时并不特定于Meteor。
远程服务器希望我使用cookie-set标头,所以我别无选择。此外,出于既定的可伸缩性原因,HTTP.call必须在客户端完成(服务器端根本不是问题) 我可以采用什么解决方案/解决方法?