tjbp / laravel-verify-emails
使用与密码重置相同的模式在 Laravel <5.7 中验证电子邮件地址。
Requires
- illuminate/contracts: ^5.0
- illuminate/database: ^5.0
- illuminate/mail: ^5.0
- illuminate/support: ^5.0
Requires (Dev)
- mockery/mockery: ^0.9
- phpunit/phpunit: ^4.8
README
此包允许您使用与密码重置相同的模式在 Laravel 中验证账户电子邮件。
已弃用:电子邮件验证已在 Laravel 框架的 5.7 版本中实现 - 如果您使用的是 5.7 或更高版本,则此包是不必要的,如果您使用的是低于 5.6 的版本,则不再官方支持,您也不应使用。此包将不再维护。
安装
此包可以通过 Packagist 使用 Composer 安装。点击此处。
配置
将以下内容添加到 config/auth.php
'verify_emails' => [ 'users' => [ 'provider' => 'users', 'email' => 'auth.emails.verify', 'table' => 'email_tokens', 'expire' => 60, ], ],
将 passwords.users.table
设置更改为 email_tokens
,允许密码重置和电子邮件验证令牌使用相同的表。或者,创建一个使用与密码重置表相同定义的新表用于电子邮件验证令牌,并相应地配置上述内容。
使用
在您的 App\User
模型中实现 LaravelVerifyEmails\Contracts\Auth\CanVerifyEmail
接口,并使用 LaravelVerifyEmails\Auth\VerifyEmails\CanVerifyEmail
特性包含必要的方法。默认情况下,期望您的用户表中有一个名为 verified
的布尔列。此行为可以通过在特性中重写方法来更改。
将 LaravelVerifyEmails\Auth\VerifyEmails\VerifyEmailServiceProvider::class
服务提供者添加到 config/app.php
中的 providers
数组。
运行 php artisan make:verify-emails
生成视图、路由和控制器。或者,在您选择的控制器中使用 LaravelVerifyEmails\Foundation\Auth\VerifiesEmails
特性。
最后,调用 $user->unverify()
标记用户为未验证并发送验证令牌到其电子邮件地址。要捕获未验证的用户,将 App\Http\Kernel
中的 auth
路由中间件替换为 \LaravelVerifyEmails\Auth\Middleware\AuthenticateAndVerifyEmail::class
。如果您想使用自己的中间件,或者想在其他地方检查用户是否已验证,请调用 $user->isVerified()
。
许可证
Laravel Verify Email 是开源软件,根据 MIT 许可证 许可。