jrean/laravel-user-verification
Composer 安装命令:
composer require jrean/laravel-user-verification
包简介
User Email Verification For Laravel
README 文档
README
A PHP package built for Laravel to easily handle user verification and email validation.
Features
- Generate and store verification tokens for registered users
- Send or queue verification emails with token links
- Handle token verification process
- Set users as verified
- Relaunch the verification process anytime
Laravel Compatibility
| Laravel Version | Package Version |
|---|---|
| 5.0.* - 5.2.* | 2.2 |
| 5.3.* | 3.0 |
| 5.4.* | 4.1 |
| 5.5.* | 5.0 |
| 5.6.* | 6.0 |
| 5.7.* - 5.8.* | 7.0 |
| 6.0.* | 8.0 |
| 7.0.* - 11.0.* | Use master or check below: |
| 7.0.* | master |
| 8.0.* | 9.0 |
| 9.0.* | 10.0 |
| 10.0.* | 11.0 |
| 11.0.* | 12.0 |
| 12.0.* | 13.0 |
| 13.0.* | 14.0 |
This package is now Laravel 13.0 compliant with v14.0.0.
Installation
Via Composer
composer require jrean/laravel-user-verification
Register Service Provider & Facade
Add the service provider to config/app.php. Make sure to add it above the RouteServiceProvider.
'providers' => [ // ... Jrean\UserVerification\UserVerificationServiceProvider::class, // ... App\Providers\RouteServiceProvider::class, ],
Optionally, add the facade:
'aliases' => [ // ... 'UserVerification' => Jrean\UserVerification\Facades\UserVerification::class, ],
Publish Configuration
php artisan vendor:publish --provider="Jrean\UserVerification\UserVerificationServiceProvider" --tag="config"
Database Configuration
The package requires adding two columns to your users table: verified and verification_token.
Run Migrations
php artisan migrate --path="/vendor/jrean/laravel-user-verification/src/resources/migrations"
Or publish and customize the migrations:
php artisan vendor:publish --provider="Jrean\UserVerification\UserVerificationServiceProvider" --tag="migrations"
Middleware
Default Middleware
Register the included middleware in app/Http/Kernel.php:
protected $routeMiddleware = [ // ... 'isVerified' => \Jrean\UserVerification\Middleware\IsVerified::class, ];
Apply it to routes:
Route::group(['middleware' => ['isVerified']], function () { // Protected routes... });
Custom Middleware
php artisan make:middleware IsVerified
Email Configuration
Default Email View
The package includes a basic email template. The view receives a $user variable containing user details and the verification token.
Customize Email View
Publish the views:
php artisan vendor:publish --provider="Jrean\UserVerification\UserVerificationServiceProvider" --tag="views"
The views will be available in resources/views/vendor/laravel-user-verification/.
Markdown Email Support
To use Markdown instead of Blade templates, update the user-verification.php config:
'email' => [ 'type' => 'markdown', ],
Email Sending Methods
// Send immediately UserVerification::send($user, 'Email Verification'); // Queue for sending UserVerification::sendQueue($user, 'Email Verification'); // Send later UserVerification::sendLater($seconds, $user, 'Email Verification');
Usage
Routes
The package provides two default routes:
Route::get('email-verification/error', 'Auth\RegisterController@getVerificationError')->name('email-verification.error'); Route::get('email-verification/check/{token}', 'Auth\RegisterController@getVerification')->name('email-verification.check');
Required Trait
Add the VerifiesUsers trait to your registration controller:
use Jrean\UserVerification\Traits\VerifiesUsers; class RegisterController extends Controller { use RegistersUsers, VerifiesUsers; // ... }
Integration Example
Here's a typical implementation in RegisterController.php:
public function register(Request $request) { $this->validator($request->all())->validate(); $user = $this->create($request->all()); event(new Registered($user)); $this->guard()->login($user); UserVerification::generate($user); UserVerification::send($user, 'Please Verify Your Email'); return $this->registered($request, $user) ?: redirect($this->redirectPath()); }
Auto-Login After Verification
Enable auto-login after verification in the config:
'auto-login' => true,
Translations
Publish translation files:
php artisan vendor:publish --provider="Jrean\UserVerification\UserVerificationServiceProvider" --tag="translations"
API Reference
Core Methods
generate(AuthenticatableContract $user)- Generate and save a verification tokensend(AuthenticatableContract $user, $subject = null, $from = null, $name = null)- Send verification emailprocess($email, $token, $userTable)- Process the token verification
Model Traits
Add the UserVerification trait to your User model for these methods:
isVerified()- Check if user is verifiedisPendingVerification()- Check if verification is pending
Error Handling
The package throws the following exceptions:
ModelNotCompliantExceptionTokenMismatchExceptionUserIsVerifiedExceptionUserNotVerifiedExceptionUserNotFoundExceptionUserHasNoEmailException
License
Laravel User Verification is licensed under The MIT License (MIT).
jrean/laravel-user-verification 适用场景与选型建议
jrean/laravel-user-verification 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 863.47k 次下载、GitHub Stars 达 865, 最近一次更新时间为 2015 年 09 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「laravel」 「user verification」 「email verification」 「user activation」 「email activation」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jrean/laravel-user-verification 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jrean/laravel-user-verification 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jrean/laravel-user-verification 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Standalone replacement for php's native get_browser() function
User component for Yii2
Alfabank REST API integration
User Approval Laravel Package
Yii2 user manager.
统计信息
- 总下载量: 863.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 878
- 点击次数: 18
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-09-11