Discord socialite: catch InvalidStateException

This commit is contained in:
2026-06-15 21:14:35 +02:00
parent 133a069890
commit bcd15d8569
2 changed files with 15 additions and 1 deletions
@@ -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();
+8
View File
@@ -28,6 +28,14 @@
</div>
</a>
@if (session('error'))
<div class="mb-4 rounded-md bg-red-200 p-4 border border-red-200">
<div class="text-sm text-red-700">
{{ session('error') }}
</div>
</div>
@endif
<!-- Or -->
<div class="grid grid-cols-3">
<hr class="self-center border-neutral-600">