Files
newznab-tmux-NNTmux/app/Http/Middleware/EnsureAuthenticatedUsersAreVerified.php
T
2026-03-29 09:42:55 +02:00

38 lines
910 B
PHP

<?php
declare(strict_types=1);
namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureAuthenticatedUsersAreVerified
{
/**
* Handle an incoming request.
*
* @param Closure(Request): Response $next
*/
public function handle(Request $request, Closure $next, ?string $redirectToRoute = null): Response
{
$user = $request->user();
if ($user === null) {
return $next($request);
}
if ($user instanceof MustVerifyEmail && ! $user->hasVerifiedEmail()) {
if ($request->expectsJson()) {
abort(403, 'Your email address is not verified.');
}
return redirect()->route($redirectToRoute ?? 'verification.notice');
}
return $next($request);
}
}