selim-salihovic / 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
This package is not auto-updated.
Last update: 2024-09-15 04:10:42 UTC
README
一个用于处理邮箱验证的Laravel包。
该包受到基于密码重置的加密方法和josiasmontag的邮箱验证包的启发。
- 基于加密的邮箱验证。无需在数据库中存储临时令牌!
- 基于事件完全。无需覆盖你的
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"
配置
过期时间
1440
(分钟,24小时)默认设置。
verify_route
/verify
默认设置。如果你使用不同的验证路由,请更改此值。
send_notifications
true
默认设置。让此包在注册完成后自动发送邮件通知。
如何使用(分步指南)
第一步
-
必须实现
Meness\Verifi\Entities\Traits\Contracts\Verifi
接口的User
模型。 -
如果你要使用默认通知,请添加
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, ];
变更日志
有关最近更改的更多信息,请参阅发布。
贡献
请参阅贡献指南以获取详细信息。
致谢
许可证
Verifi是开源软件,许可协议为MIT许可证。