Laravel редирект на подтверждение почты

Почему это не работает?

use Illuminate\Support\Facades\Auth;

public function __construct()
{
    if(Auth::check()){
         $this->middleware(['verified']);
    }
}

Я хочу чтобы после авторизации пользователя постоянно перекидывало на страницу с подтверждением почты, до тех пор пока он ее не подтвердит. Функция Auth::check() не срабатывает, как это можно сделать?
Laravel-8;


Ответы (1 шт):

Автор решения: Евгений

Документация https://laravel.com/docs/8.x/verification#model-preparation

Недостаточно добавить посредника

public function __construct() {
    $this->middleware(['auth', 'verified']);
}

Модель User должна реализовывать интерфейс MustVerifyEmail

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable implements MustVerifyEmail {
    use Notifiable;
    // ...
}

Хорошая статья https://www.itsolutionstuff.com/post/laravel-7-email-verification-exampleexample.html

→ Ссылка