coderjp / verifier
Laravel 5 的邮箱验证
Requires
- php: >=5.4.0
- illuminate/console: ~5.0
- illuminate/database: ~5.0
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2024-09-28 16:25:59 UTC
README
Verifier 是一个为 Laravel 5 定制的包,用于向用户发送验证邮件,以验证他们的电子邮件地址是否有效。用户将点击邮件中的链接来验证他们的地址。
安装
使用以下命令使用 composer 安装此包:
composer require coderjp/verifier
然后运行 composer install 或 composer update。
更新 composer 后,将服务提供程序添加到 config/app.php 中的 providers 数组。
'Coderjp\Verifier\VerifierServiceProvider',
生成配置文件以更改各种设置。此文件位于 config/verifier.php。
php artisan vendor:publish --provider=Coderjp\\Verifier\\VerifierServiceProvider
确保 tables 配置选项正确。默认使用的表是 users。然后运行以下命令生成迁移:
php artisan verifier:migration
用法
模型
将 VerifierUserTrait 添加到您希望进行验证的模型中。这通常是 User 模型。
<?php use Coderjp\Verifier\Traits\VerifierUserTrait; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword, EntrustUserTrait, SoftDeletes, VerifierUserTrait; ... }
模板
您需要为欢迎邮件创建一个邮件模板。默认配置使用 emails.welcome。
变量 $user 将传递到您的模板中。这将是一个包含相关用户的数组。
Hi {{ $user['name'] }}, Welcome to our site. Please click the following link to activate your account: {{ url('verify', $user['verification_code']) }} Regards, CoderJP
验证
在创建用户的地方,您现在可以调用模型的 sendVerification() 方法。这将触发向用户发送电子邮件。
... public function store(CreateUserRequest $request) { $user = User::create($request->all()); $user->sendVerification(); ... } ...
要验证令牌,您可以使用以下方式使用 verify() 方法
<?php class UserController extends Controller { ... public function validate(Request $request, $code) { $user = User::verify($code); if ($user) { // $user = User model return view('user.validated'); } else { // $user = null; return view('user.invalid'); } } ... }
如果代码有效,验证将设置 validated = true,从数据库中删除 验证代码 并返回相关用户。如果代码无效,则返回 null。
覆盖
某些选项可能需要比简单的属性更多的思考,以下可以通过在模型中声明方法来覆盖
收件人姓名
这是收件人的姓名。默认情况下,它使用模型的 name 属性,但您可以通过声明以下内容来覆盖它
... public function getVerificationEmailName() { return ucwords($this->first_name .' '. $this->last_name); } ...
邮件主题
默认情况下,使用配置选项 subject,但您可以在模型中定义以下方法
... public function getVerificationEmailSubject() { return 'Welcome to our site ' . $this->name; } ...
许可证
Verifier 是开源软件,许可协议为 MIT 许可证