EnsureEmailIsVerified.php 739 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Contracts\Auth\MustVerifyEmail;
  5. use Illuminate\Http\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class EnsureEmailIsVerified
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  13. */
  14. public function handle(Request $request, Closure $next): Response
  15. {
  16. if (! $request->user() ||
  17. ($request->user() instanceof MustVerifyEmail &&
  18. ! $request->user()->hasVerifiedEmail())) {
  19. return response()->json(['message' => 'Your email address is not verified.'], 409);
  20. }
  21. return $next($request);
  22. }
  23. }