Php Laravel 5.7电子邮件验证路由

Php Laravel 5.7电子邮件验证路由,php,laravel,Php,Laravel,在Laravel 5.7上添加了电子邮件验证功能。但在我的项目中,我不使用默认的路由名称,而是添加了一个前缀,以供自己使用。现在,当我添加以下代码来添加验证路由时,它显示了一个错误 Auth::routes(['verify'=>true]) 错误消息显示验证。验证路由不存在。在我的项目中,在哪里可以更新此路由名称?或者使用此功能的唯一方法是遵循默认的身份验证路由名称吗 项目源代码可在上获得,而不是使用Auth::routes(['verify'=>true])只需使用Auth::routes(

在Laravel 5.7上添加了电子邮件验证功能。但在我的项目中,我不使用默认的路由名称,而是添加了一个前缀,以供自己使用。现在,当我添加以下代码来添加验证路由时,它显示了一个错误

Auth::routes(['verify'=>true])

错误消息显示
验证。验证
路由不存在。在我的项目中,在哪里可以更新此路由名称?或者使用此功能的唯一方法是遵循默认的身份验证路由名称吗


项目源代码可在

上获得,而不是使用Auth::routes(['verify'=>true])只需使用
Auth::routes()并手动添加这些路由:

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');

然后根据需要进行定制:)

当您想要更改验证过程的路径时,您必须更改验证过程的所有工作方式

电子邮件验证通知流程 在注册过程中,将发出一个事件
illumb\Auth\Events\registed
。Larvel带有一个已在
App\Providers\EventServiceProvider
中注册的侦听器
light\Auth\Listeners\sendmailverificationnotification

在执行
MustVerifyEmail
界面后,当
Registered
事件发生时,发出
SendEmailVerificationNotification
侦听器将通过检查用户创建是否是
MustVerifyEmail
如果是这种情况,它将调用
user
上的
sendEmailVerificationNotification
方法,该方法在使用
Lightning\Auth\MustVerification
特性时实现此方法

验证路线的定制
要更改验证过程的行为,您可以自定义
sendEmailVerificationNotification
以发出一个自定义
事件
,该事件可以有一个自定义侦听器,您将在其中执行所有验证工作,并通过电子邮件通知
用户
,您将通过该电子邮件发送自定义路由验证过程将完成

在我的情况下,我遇到了相同的问题,我收到了消息

InvalidArgumentException 

Attribute [auth] does not exist.

at vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php:92
我已经解决了更新我的composer可执行文件和laravel本地文件的问题

composer global self-update

composer update

我的composer可执行文件似乎使用的是旧版本的laravel安装程序。

任何人如果来到这里并正在寻找最新的laravel,请使用下面的。注意添加了
/{hash}

$this->get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
$this->get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');
$this->post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');

不要链接到将被删除或取消发布的代码。@pelmered我可以看出您没有阅读完整的问题。如果你这样做了,你会看到我面临的问题被清楚地提到。而其他用户则基于此进行了回复。如果有人需要检查完整的场景,我在最后提到了项目链接。。这个链接指向一个404Now@nasirkhan,所以我猜Pelmered提到的现在发生了什么。完美的男人!我像下面这样声明我的路由::get('email/verify/{id}','Auth\VerificationController@verify')->name('verify.verify')。。。。。。。。。。。。。。。。。只有/{hash}丢失了,在阅读了您的答案后,我能够解决这个问题。好极了!