我正在使用标准的laravel注册系统(php artisan make:auth
),目前我想知道laravel中邮件的验证方式。我没有看到数据库中的任何令牌或其他东西可以与laravel的“注册完成”邮件(注册后)进行比较。
那么Laravel如何从根本上确保令牌正确?
我已经查看了RegistraterController,并认为它必须使用Controller的User::create()
方法中调用的create
方法来做某事。但是,不幸的是,我什至找不到这种方法...
(我的Laravel在版本5.8.7上运行)
答案 0 :(得分:1)
Laravel为此目的使用所谓的签名路由,即使用密钥对URL进行哈希处理,因此无需存储令牌。参见Illuminate\Routing\UrlGenerator::signedRoute
此功能是通过Illuminate\Auth\Notifications\VerifyEmail
模型中使用的Illuminate\Auth\MustVerifyEmail
特性从Illuminate\Foundation\Auth\User
调用的。
根据用户请求,哈希将通过Illuminate\Routing\UrlGenerator::hasValidSignature
进行验证