Gre*_*orz 6 csrf csrf-protection spring-boot angular5
Iam现在迷路了,需要一些帮助。
我有一个
并希望启用CSRF保护,因为默认情况下都应启用CSRF保护(文档说):不是!
在SpringBoot上,我需要添加以下安全配置:
http
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
Run Code Online (Sandbox Code Playgroud)
在Angular上,我需要添加以下模块:
imports: [
...,
HttpClientModule,
HttpClientXsrfModule, //(!)
...
Run Code Online (Sandbox Code Playgroud)
服务器的底线是在每个响应中发送XRSF-TOKEN。
-但每个人都有不同。那是对的吗?我希望在客户端会话中也一样。
-这里的主要问题是Angular5仍未在其帖子调用中使用XRSF-TOKEN(例如)。它没有在请求中设置X-XSRF-TOKEN。
我在做什么错还是想念?
我也遇到了同样的问题,我认为这是由于 Angular 版本 5 造成的回归。
在此问题解决之前,您可以像我一样添加自己的“X-XSRF-TOKEN”标头。
constructor(private http: HttpClient, private tokenExtractor: HttpXsrfTokenExtractor) {
}
Run Code Online (Sandbox Code Playgroud)
然后手动提取令牌
const token = this.tokenExtractor.getToken() as string;
Run Code Online (Sandbox Code Playgroud)
并将其添加到标题中
this.http.post<any>(url, body, {headers: new HttpHeaders().set('X-XSRF-TOKEN', token)})
Run Code Online (Sandbox Code Playgroud)
侯塞姆
| 归档时间: |
|
| 查看次数: |
3742 次 |
| 最近记录: |