【Laravel】Google認証後のページで419エラーになる


419エラーについては、@csrfを記載すれば良いと調べると出てきますが、

Googleログインボタンから認証後に自サイトに戻ってきたときに419エラーになる場合については、「@csrf」を記載する方法がありません。

そもそも、@csrfはPOSTの際にtokenを発行して一致を確認しているようです。
また、Googleなどの外部サイトからPOSTされる場合もチェックされ、その際にCSRFの保護によって419エラーが発生するようです。

つまり、認証後のPOSTでCSRFのチェックが走って必ずエラーになってしまうため、
チェックを解除すればエラーを回避できることになります。

app\Http\Middleware\VerifyCsrfToken.php を以下のように変更しました。

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array<int, string>
     */
    protected $except = [
        'https://localhost/login/google/*',
    ];
}

詳しい方法は、以下を参照してください。

CSRF保護 5.8 Laravel

↓のサイトを参考にしました。