【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/*',
];
}
詳しい方法は、以下を参照してください。
↓のサイトを参考にしました。