diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ad793f53..e0a8ccb7 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -70,6 +70,7 @@ class Kernel extends HttpKernel protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'guest' => \App\Http\Middleware\RejectIfAuthenticated::class, + 'SkipIfAuthenticated' => \App\Http\Middleware\SkipIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'rejectIfDemoMode' => \App\Http\Middleware\RejectIfDemoMode::class, 'rejectIfReverseProxy' => \App\Http\Middleware\RejectIfReverseProxy::class, diff --git a/app/Http/Middleware/SkipIfAuthenticated.php b/app/Http/Middleware/SkipIfAuthenticated.php new file mode 100644 index 00000000..df172b0e --- /dev/null +++ b/app/Http/Middleware/SkipIfAuthenticated.php @@ -0,0 +1,36 @@ +check()) { + $user = Auth::guard($guard)->user()->name; + + return response()->json([ + 'message' => 'authenticated', + 'name' => $user + ], 200); + } + } + + return $next($request); + } +} diff --git a/routes/web.php b/routes/web.php index 19d65ba3..851b97fb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -30,7 +30,7 @@ * Routes that only work for unauthenticated user (return an error otherwise) * that can be requested max 10 times per minute by the same IP */ -Route::group(['middleware' => ['guest', 'throttle:10,1']], function () { +Route::group(['middleware' => ['SkipIfAuthenticated', 'throttle:10,1']], function () { Route::post('user/login', 'Auth\LoginController@login')->name('user.login'); Route::post('webauthn/login', [WebAuthnLoginController::class, 'login'])->name('webauthn.login'); });