一个用于处理邮箱验证的Laravel包。

1.0.6 2017-05-30 00:00 UTC

README

Travis Packagist Packagist Packagist

一个用于处理邮箱验证的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默认设置。让此包在注册完成后自动发送邮件通知。

如何使用(分步指南)

第一步

  1. 必须实现Meness\Verifi\Entities\Traits\Contracts\Verifi接口的User模型。

  2. 如果你要使用默认通知,请添加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值。

第三步(可选)

为必要的事件创建监听器。此包提供了三个事件:InvalidCredentialsVerificationSentVerified

第四步

提供了两种方法,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许可证