首页 文章

Angular(4)CSRF在同一台计算机上的不同端口

提问于
浏览
1

我有一个小型的 Spring 季启动应用程序,它使用两种方法“暴露”(POST)和“/ show”(GET)来暴露REST服务

当我在我的计算机上运行我的角度2应用程序http://computer.domain.com:4200,并在同一台计算机上的另一个端口http://computer.domain.com:8080上进行 spring 启动休息服务时,角度2的CSRF部分不想发送XSRF令牌与头 .

如果我在spring boot WAR中部署Angular GUI,那么REST和GUI都可以通过http://computer.domain.com:8080访问,那么与CSRF相关的一切都可以工作 .

我认为,只要它来自同一台服务器,Cookies和angular就会被发送到哪个端口是“不可知的” .

我错过了一些使角度发送CSRF标头的配置吗?

1 回答

  • 2

    Cookie /浏览器可能与端口无关 . 见this question and the related answer .

    常见的设置是to configure angular-cli to setup a proxy .

    例如,如果您的休息 endpoints 以 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调用 http://computer.domain.com:4200/api...

    希望能帮助到你

相关问题