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 の作成を確認できますが、問題は 2 番目のルート ('/login') にあります。