meness / verifi
用于处理电子邮件验证的Laravel扩展包。
该包的规范仓库似乎已消失,因此该包已被冻结。
Requires
- php: ^7.1
- illuminate/auth: ~5.4
- illuminate/bus: ~5.4
- illuminate/contracts: ~5.4
- illuminate/database: ~5.4
- illuminate/notifications: ~5.4
- illuminate/queue: ~5.4
- illuminate/support: ~5.4
- nesbot/carbon: ~1.22
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^5.0
README
用于处理电子邮件验证的Laravel扩展包。
它受到基于加密的密码重置(https://github.com/laravel/framework/pull/17499)和josiasmontag的电子邮件验证包(https://github.com/josiasmontag/laravel-email-verification)的启发。
- 基于加密的电子邮件验证。无需在数据库中存储临时令牌!
- 基于事件的全局。无需覆盖您的
register()
方法。 - 使用Laravel 5.4通知系统。
- 您可以自由创建任何您喜欢的路由。
- 随时重新发送验证电子邮件。
- 自定义电子邮件通知。
安装
通过Composer安装此包。
composer require meness/verifi
您必须安装服务提供者和外观。
'providers' => [ ... Meness\Verifi\Providers\VerifiServiceProvider::class, ]; 'aliases' => [ ... 'Verifi' => Meness\Verifi\Facades\Verifi::class, ];
提供迁移来向现有的 users
表添加 is_email_verified
列,您可以发布迁移。
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="migrations"
如果您发布了迁移,请记住运行以下命令。
php artisan migrate
还提供了一个配置文件,您可以发布配置。
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="config"
配置
expiration
1440
(分钟,24小时)默认设置。
verify_route
/verify
默认设置。如果使用不同的验证路由,请更改该值。
send_notifications
true
默认设置。让此包在注册完成后自动发送电子邮件通知。
如何使用(分步指南)
第一步
-
User
模型必须实现Meness\Verifi\Entities\Traits\Contracts\Verifi
接口。 -
如果您要使用默认通知,请添加
Meness\Verifi\Entities\Traits\VerifiTrait
作为特性。
class User extends Authenticatable implements Verifi { use Notifiable, VerifiTrait; }
注意: 一些方法尚未实现,您必须自行实现。
第二步
您可以自由创建路由,因为此包中没有提供默认路由。
Route::get('/verify', 'Auth\RegisterController@verify'); Route::get('/resend', 'Auth\RegisterController@resend');
注意: 如果不使用默认路由,请记得更改 verify_route
的值。
第三步(可选)
创建必要事件的监听器。此包提供了三个事件:InvalidCredentials
、VerificationSent
和 Verified
。
第四步
提供了两种方法:verify()
和 resend()
。
注意:注册完成后,如果设置了 send_notifications
为 true
,则会发送一封邮件验证,因此您不需要手动操作。
verify()
Verifi::verify()
需要一个请求对象和一个可选的回调。它验证请求中提供的凭据。
Verifi::verify(request(), function ($user) { if (is_null($user)) { // Invalid credentials provided } else { // Verified } });
resend()
Verifi::resend()
需要一个用户模型对象和一个可选的回调。它将验证邮件发送到指定的用户。
Verifi::resend($user, function ($user) { // Resent successfully });
第五步(可选)
存在一个名为 IsEmailVerified
的中间件,用于确定用户的电子邮件地址是否已验证。
$routeMiddleware = [ ... 'isEmailVerified' => \Meness\Verifi\Http\Middleware\IsEmailVerified::class, ];
变更日志
有关最近更改的更多信息,请参阅 发行版。
贡献
有关详细信息,请参阅 CONTRIBUTING。
致谢
许可证
Verifi 是开源软件,许可证为 MIT 许可证。