From 5e5bb62d7538902bd0f248530a9efec12cca092c Mon Sep 17 00:00:00 2001 From: Alexander Gabriel Date: Tue, 11 Nov 2025 18:16:19 +0000 Subject: [PATCH] allow user to give a different post logout url --- config/filament-oauth2.php | 1 + src/Http/Controllers/Oauth2Controller.php | 2 ++ 2 files changed, 3 insertions(+) diff --git a/config/filament-oauth2.php b/config/filament-oauth2.php index 89bd8b3..1e29942 100644 --- a/config/filament-oauth2.php +++ b/config/filament-oauth2.php @@ -11,6 +11,7 @@ return [ 'urlAccessToken' => env("OAUTH2_URL_ACCESS_TOKEN", env("OAUTH2_BASE_URL")."/token"), 'urlResourceOwnerDetails' => env("OAUTH2_URL_RSOURCE_OWNER_DETAILS", env("OAUTH2_BASE_URL")."/userinfo"), 'urlLogout' => env("OAUTH2_URL_LOGOUT", env("OAUTH2_BASE_URL")."/logout"), + 'urlAfterlogout' => env("OAUTH2_URL_AFTER_LOGOUT", url('/admin')), 'scopes' => env("OAUTH2_SCOPES", "profile email openid"), 'updateRoles' => env("OAUTH2_UPDATE_ROLES", false) diff --git a/src/Http/Controllers/Oauth2Controller.php b/src/Http/Controllers/Oauth2Controller.php index 4ecc30c..d0ac79b 100644 --- a/src/Http/Controllers/Oauth2Controller.php +++ b/src/Http/Controllers/Oauth2Controller.php @@ -141,10 +141,12 @@ class Oauth2Controller extends Controller public function handleLogout(Request $request) { + // https://openid.net/specs/openid-connect-rpinitiated-1_0.html session()->invalidate(); session()->regenerateToken(); Filament::auth()->logout(); $logoutUrl = config('filament-oauth2.urlLogout').'?client_id=filamentphp'; + if(config('filament-oauth2.urlAfterlogout') != url('/')) $logoutUrl .= '&post_logout_redirect_uri='.config('filament-oauth2.urlAfterlogout'); return redirect($logoutUrl); } }