Я использую Nova в качестве бэкэнда для приложения SAAS, поэтому в основном на app.mydoain.com просто появляется форма входа в систему Nova. Я хочу Laravel 5.7 Проверка электронной почты, который стандартно используется для этого (поэтому, когда я добавляю пользователя, он должен проверить электронную почту, прежде чем сможет войти).
В config / nova.php я добавил промежуточное ПО:
'middleware' => [
'verified',
'web',
Authenticate::class,
DispatchServingNovaEvent::class,
BootTools::class,
Authorize::class,
],
В модели User.php я реализовал это (что сделано не так, как в документации по webiste?)
<?php
namespace App;
use Illuminate\Auth\MustVerifyEmail;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;
class User extends Authenticatable implements MustVerifyEmailContract
{
use MustVerifyEmail, Notifiable;
....
Я добавил несколько маршрутов в web.php только для проверки (никакой другой аутентификации не требуется)
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
После того, как я войду в систему, он просто остановится и перейдет на /email/verify
или /
. В моей базе данных я уже добавил временную метку, поэтому она вообще не должна идти к /email/verify
, а когда она идет к /
, это время ожидания.
Если я удаляю verified
из промежуточного программного обеспечения в конфигурации, он работает нормально, но не проверяется проверка электронной почты.