【问题标题】:configure CSRF between Angular 8 and springboot 2.2.1在 Angular 8 和 springboot 2.2.1 之间配置 CSRF
【发布时间】:2020-04-11 22:03:47
【问题描述】:

我刚刚完成了从 Angular 5 到 Angular 8 的迁移,但是我的 CSRF 配置出现了问题。

根据一个老问题,我改变了我的spring security csrf配置(Angular 6 does not add X-XSRF-TOKEN header to http request):

final CookieCsrfTokenRepository tokenRepository = CookieCsrfTokenRepository.withHttpOnlyFalse();
tokenRepository.setCookiePath("/");
http.csrf().csrfTokenRepository(tokenRepository);

当我使用我的前端时,我在 spring API 上的 post 查询在 Chrome 79 中返回 403 错误。我想这与我的 Angular 8 查询中不存在的标题“X-XSRF-TOKEN”有关。

我该如何纠正这个错误?

【问题讨论】:

    标签: angular spring-boot google-chrome spring-security


    【解决方案1】:

    根据另一个问题:

    “默认情况下,拦截器会在所有变异请求(POST 等)到相对 URL 时发送此 cookie,但不会在 GET/HEAD 请求或具有绝对 URL 的请求上发送。”

    因此,解决方案是在所有 API 调用中使用相对 URL 而不是绝对 URL。

    谢谢@G。特里科特为您提供帮助:D

    【讨论】:

      猜你喜欢
      • 2018-04-30
      • 1970-01-01
      • 2020-02-20
      • 2019-07-31
      • 2021-07-26
      • 2020-04-29
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      相关资源
      最近更新 更多