我一直在尝试实现 Laravel sanctum,但是即使我遵循了 Laravel Sanctum 文档中所说的所有内容,我仍然遇到此错误“CSRF 令牌不匹配”
cors.php
配置文件
'paths' => [
'api/*',
'login',
'logout',
'sanctum/csrf-cookie'
],
'supports_credentials' => true,
内核是根据文档添加的,因此在此处添加代码不会浪费空间
.env
文件
SESSION_DRIVER=cookie
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost
我在这里使用 Angular 9 作为我的前端
这是我的拦截器
request = request.clone({
withCredentials: true
})
这就是我向 Laravel 发送请求的方式
this.http.get<any>(url('sanctum/csrf-cookie')).subscribe(() => {
this.http.post<any>(url('login'), { this.username, this.password })
.subscribe(success => console.log(success), error => console.log(error))
})
命中第一条路线后,我可以确认 cookie 的创建,但问题在于第二条路线('/login')