前提・実現したいこと
laravel,PHPでログイン機能を持つアプリケーションを作成しています。
ログイン画面を一定時間放置してからログインしようとすると「The page has expired」が出てしまうのですが
これを無くしたいです。
発生している問題・エラーメッセージ
The page has expired due to inactivity. Please refresh and try again.
試したこと
この現象が出る場合はxsrf-tokenが送られていないみたいなので、セッションの有効期限を伸ばせばいいのかと思い
config/session.phpのlifetimeを'lifetime' => 50 * (60 * 24 * 365),
にしましたが
セッションの有効期限は伸びたものの、xsrf-tokenが送られない問題は依然として解決せず。
VerifyCsrfToken.phpのcsrf-tokenを制御している箇所にもこのlifetimeが使われているのでここを変えればいいかと思ったのですが。。
protected function addCookieToResponse($request, $response) { $config = config('session'); $response->headers->setCookie( new Cookie( 'XSRF-TOKEN', $request->session()->token(), $this->availableAt(60 * $config['lifetime']), $config['path'], $config['domain'], $config['secure'], false, false, $config['same_site'] ?? null ) ); return $response; }
補足情報(FW/ツールのバージョンなど)
laravelのバージョンは5.5.35
PHPのバージョンは7.1.15
です。
どうぞよろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。