首页 文章

无法在Angular JS 1.5.5中读取XSRF-TOKEN cookie

提问于
浏览
0

为了保护应用免受CSRF攻击,我们从服务器端设置了一个名为 XSRF-TOKEN 的cookie . 因此,从客户端代码我们可以设置cookie并发送到服务器,但是为了在服务器端验证CSRF,我们需要在触发'POST'服务调用时发送头 . 根据angular文档自动$ http设置 Headers X-XSRF-TOKEN 通过读取cookie(请参考link),但Javascript代码无法读取cookie虽然我们已在同一域上部署了我们的应用程序 . 服务器端cookie生成代码和服务部署详细信息如下,

final Cookie newCookie = new Cookie(
"XSRF-TOKEN",
csrfValue);
newCookie.setPath("/");
httpResponse.addCookie(newCookie);

UI部署在8080端口,服务部署在同一个VM内的端口8084中

1 回答

  • 0

    端口8080和8084是不同的来源,因此您无法从另一个读取cookie,就像您无法访问运行在您的javascript中的任何其他网站的cookie一样 .

    服务如何验证用户?如果它是基于令牌的,并且令牌作为请求头发送,您甚至不需要进一步保护csrf .

相关问题