我有一个小型的 Spring Boot 应用程序,它公开了一个带有两种方法“/upload”(POST)和“/show”(GET)的 REST 服务
当我在计算机上运行 Angular 2 应用程序时,http://computer.domain.com:4200,并在同一台计算机上的不同端口 http://computer.domain.com 上运行 Spring Boot Rest-service : 8080,角度 2 的 CSRF 部分不想发送带有标头的 XSRF 令牌。
如果我在 spring boot WAR 中部署 Angular GUI,以便可以通过http://computer.domain.com:8080访问 REST 和 GUI,那么与CSRF 相关的所有内容都可以工作。
我认为 Cookie 和 Angular 在从哪个端口发送时是“不可知的”,只要它源自同一服务器即可。
我是否缺少一些使角度发送 CSRF 标头的配置?
Cookie/浏览器可能与端口无关。请参阅此问题和相关答案。
常见的设置是配置 angular-cli 来设置代理。
例如,如果您的休息端点以 开头api,您应该创建一个proxy.conf.json
{
"/api": {
"target": "http://computer.domain.com:8080",
"secure": false
}
}
Run Code Online (Sandbox Code Playgroud)
然后将您的package.json start脚本更新为:
"start": "ng serve --proxy-config proxy.conf.json",
Run Code Online (Sandbox Code Playgroud)
前端应该进行 http 调用http://computer.domain.com:4200/api...
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
2073 次 |
| 最近记录: |