Я использую 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 Docs?)
<?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
из промежуточного ПО в конфиге все работает нормально, но проверки электронной почты нет.
Измените порядок промежуточного программного обеспечения.
'middleware' => [
'web',
Authenticate::class,
'verified',
DispatchServingNovaEvent::class,
BootTools::class,
Authorize::class,
],
Ваш запрос должен пройти через Интернет в первую очередь. Скорее всего, вы получаете тайм-аут из-за цикла перенаправления.
Других решений пока нет …