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 +