From a50683b8c188303f537857a7d8c1fa3a35451655 Mon Sep 17 00:00:00 2001 From: Benjamin Takats Date: Thu, 1 Dec 2022 20:54:03 +0100 Subject: [PATCH] custom email verified --- app/Http/Kernel.php | 24 +++++------- .../Middleware/CustomEnsureEmailVerified.php | 38 +++++++++++++++++++ routes/web.php | 14 +------ 3 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 app/Http/Middleware/CustomEnsureEmailVerified.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 00796881..438689c6 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -2,15 +2,14 @@ namespace App\Http; +use App\Http\Middleware\CustomEnsureEmailVerified; use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel { /** * The application's global HTTP middleware stack. - * * These middleware are run during every request to your application. - * * @var array */ protected $middleware = [ @@ -25,7 +24,6 @@ class Kernel extends HttpKernel /** * The application's route middleware groups. - * * @var array> */ protected $middlewareGroups = [ @@ -47,21 +45,19 @@ class Kernel extends HttpKernel /** * The application's route middleware. - * * These middleware may be assigned to groups or used individually. - * * @var array */ protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'signed' => \App\Http\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'signed' => \App\Http\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => CustomEnsureEmailVerified::class, ]; } diff --git a/app/Http/Middleware/CustomEnsureEmailVerified.php b/app/Http/Middleware/CustomEnsureEmailVerified.php new file mode 100644 index 00000000..0fcb0b9c --- /dev/null +++ b/app/Http/Middleware/CustomEnsureEmailVerified.php @@ -0,0 +1,38 @@ +user() || + ( + $request->user() instanceof MustVerifyEmail + && !$request->user()->public_key + && !$request->user() + ->hasVerifiedEmail() + ) + ) { + return $request->expectsJson() + ? abort(403, 'Your email address is not verified.') + : Redirect::guest(URL::route($redirectToRoute ?: 'verification.notice')); + } + + return $next($request); + } +} diff --git a/routes/web.php b/routes/web.php index dc1d16a2..755da753 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,24 +2,14 @@ use Illuminate\Support\Facades\Route; -/* -|-------------------------------------------------------------------------- -| Web Routes -|-------------------------------------------------------------------------- -| -| Here is where you can register web routes for your application. These -| routes are loaded by the RouteServiceProvider within a group which -| contains the "web" middleware group. Now create something great! -| -*/ - Route::get('/', function () { return to_route('search.city', ['country' => 'de']); }) ->name('welcome'); Route::get('/auth/ln', \App\Http\Livewire\Auth\LNUrlAuth::class) - ->name('auth.ln'); + ->name('auth.ln') + ->middleware('guest'); Route::get('/{country:code}/suche/stadt', \App\Http\Livewire\Frontend\SearchCity::class) ->name('search.city');