File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ namespace App \Http \Controllers ;
6
+
7
+ use App \Aws \CognitoIdentityProvider \AdminUserGlobalSignOut \AdminUserGlobalSignOut ;
8
+ use App \Aws \CognitoIdentityProvider \AdminUserGlobalSignOut \AdminUserGlobalSignOutPayload ;
9
+ use App \Models \User ;
10
+ use Illuminate \Http \RedirectResponse ;
11
+ use Illuminate \Support \Facades \Auth ;
12
+ use Illuminate \Support \Facades \Session ;
13
+
14
+ final readonly class LogoutController
15
+ {
16
+ public function __construct (private AdminUserGlobalSignOut $ adminUserGlobalSignOut )
17
+ {
18
+ }
19
+
20
+ public function __invoke (): RedirectResponse
21
+ {
22
+ if (Auth::check ()) {
23
+ /** @var User $user */
24
+ $ user = Auth::user ();
25
+
26
+ $ payload = AdminUserGlobalSignOutPayload::create ($ user ->username );
27
+ $ this ->adminUserGlobalSignOut ->execute ($ payload );
28
+
29
+ Auth::logout ();
30
+ Session::invalidate ();
31
+ Session::regenerateToken ();
32
+ }
33
+
34
+ return redirect ()->route ('welcome ' );
35
+ }
36
+ }
Original file line number Diff line number Diff line change 3
3
declare (strict_types=1 );
4
4
5
5
use App \Http \Controllers \LoginController ;
6
+ use App \Http \Controllers \LogoutController ;
6
7
use App \Http \Controllers \RegisterController ;
7
8
use Illuminate \Support \Facades \Route ;
8
9
27
28
28
29
Route::group (['middleware ' => 'auth ' ], static function () {
29
30
Route::view ('/dashboard ' , 'dashboard ' )->name ('dashboard ' );
31
+ Route::post ('/logout ' , LogoutController::class)->name ('logout ' );
30
32
});
You can’t perform that action at this time.
0 commit comments