Add the ability to define a post logout route

This defaults to filament.auth.login
This commit is contained in:
RVxLab
2021-03-28 21:01:22 +02:00
parent 5bb10c45a1
commit 24c0a94e33
3 changed files with 36 additions and 1 deletions
+11
View File
@@ -51,6 +51,17 @@ return [
'guard' => env('FILAMENT_AUTH_GUARD', 'filament'),
],
/*
|--------------------------------------------------------------------------
| Logout redirect URL
|--------------------------------------------------------------------------
|
| Sometimes you may wish to lead to a different route after logging out.
|
*/
'logout_redirect_route' => 'filament.auth.login',
/*
|--------------------------------------------------------------------------
| Pages
+1 -1
View File
@@ -18,6 +18,6 @@ class Logout extends Component
{
Filament::auth()->logout();
return redirect()->route('filament.auth.login');
return redirect()->route(config('filament.logout_redirect_route', 'filament.auth.login'));
}
}
+24
View File
@@ -5,6 +5,7 @@ namespace Filament\Tests\Feature\Auth;
use Filament\Http\Livewire\Auth\Logout;
use Filament\Models\User;
use Filament\Tests\TestCase;
use Illuminate\Support\Facades\Route;
use Livewire\Livewire;
class LogoutTest extends TestCase
@@ -22,4 +23,27 @@ class LogoutTest extends TestCase
$this->assertGuest();
}
/** @test */
public function can_log_out_with_user_defined_route()
{
Route::get('/custom-post-logout', [
'as' => 'logout.custom',
'action' => function () {
return 'This is a custom logout route';
},
]);
config()->set('filament.logout_redirect_route', 'logout.custom');
$user = User::factory()->create();
$this->be($user);
Livewire::test(Logout::class)
->call('submit')
->assertRedirect(route('logout.custom'));
$this->assertGuest();
}
}