在Angular 8和springboot 2.2.1之间配置CSRF

时间:2019-12-19 10:13:25

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

我刚从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的后查询返回chrome 79的403错误。我想这与我的Angular 8查询中不存在标题“ X-XSRF-TOKEN”有关。

如何纠正此错误?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

根据另一个问题:

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

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

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