我有一个小的Spring启动应用程序,它使用两种方法公开REST服务" / upload" (POST)和" / show" (GET)
当我在我的计算机http://computer.domain.com:4200上运行我的角度2应用程序,并在另一个端口http://computer.domain.com:8080上的同一台计算机上使用spring boot rest-service时,角度为2的CSRF部分不想发送带标题的XSRF令牌。
如果我在Spring启动WAR中部署Angular GUI,那么REST和GUI都可以通过http://computer.domain.com:8080访问,那么CSRF相关的一切都可以工作。
我认为Cookies和角度是不可知的'当它来自哪个端口时,只要它来自同一台服务器。
我是否遗漏了一些使角度发送CSRF标头的配置?
答案 0 :(得分:2)
Cookie /浏览器可能与端口无关。请参阅this question and the related answer。
常见设置为to configure angular-cli to setup a proxy。
例如,如果您的休息端点以api
开头,则应创建proxy.conf.json
{
"/api": {
"target": "http://computer.domain.com:8080",
"secure": false
}
}
然后将您的package.json
start
脚本更新为:
"start": "ng serve --proxy-config proxy.conf.json",
前端应该对http://computer.domain.com:4200/api...
希望有所帮助