From bcd15d856962aedeab359cf31e1b7a2dd9930c59 Mon Sep 17 00:00:00 2001 From: w33b Date: Mon, 15 Jun 2026 21:14:35 +0200 Subject: [PATCH] Discord socialite: catch InvalidStateException --- app/Http/Controllers/Auth/DiscordAuthController.php | 8 +++++++- resources/views/auth/login.blade.php | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Auth/DiscordAuthController.php b/app/Http/Controllers/Auth/DiscordAuthController.php index 9c357b2..bdc6596 100644 --- a/app/Http/Controllers/Auth/DiscordAuthController.php +++ b/app/Http/Controllers/Auth/DiscordAuthController.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; use Laravel\Socialite\Facades\Socialite; +use Laravel\Socialite\Two\InvalidStateException; class DiscordAuthController extends Controller { @@ -26,7 +27,12 @@ class DiscordAuthController extends Controller */ public function callback(): RedirectResponse { - $discordUser = Socialite::driver('discord')->user(); + try { + $discordUser = Socialite::driver('discord')->user(); + } catch (InvalidStateException $e) { + return redirect()->route('login') + ->with('error', 'Your login session expired. Please try signing in again.'); + } $user = User::where('discord_id', $discordUser->id)->first(); diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index fac232f..7dcbdd2 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -28,6 +28,14 @@ + @if (session('error')) +
+
+ {{ session('error') }} +
+
+ @endif +