jefte / otpgenerator
Laravel插件,用于生成OTP令牌
0.0.2
2021-09-15 04:39 UTC
Requires
- php: ^7.3
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-16 04:11:54 UTC
README
要求
- Laravel v6.0或更高版本
- Composer
安装
通过Composer运行
composer require jefte/otpgenerator
发布OTP令牌迁移
php artisan vendor:publish --provider=Jefte\OTPGenerator\OTPServiceProvider --tag=otp-migration
然后运行php artisan migrate
用法
将HasOTPToken
特质包含到您的模型中
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Jefte\OTPGenerator\Traits\HasOTPToken; class User extends Authenticatable { use HasFactory, Notifiable, HasOTPToken; }
要生成OTP令牌,请使用模型中的createOtpToken
方法
class HomeController extends Controller { public function requestOtpToken(Request $request) { $user = $request->user(); // Creating Token $token = $user->createOtpToken(); // Accessing the created token $token->getGeneratedToken(); // Sample Use Case $user->notify(new SendOtpNotification($token)); } public function verifyOtpToken(Request $request) { $user = $request->user(); // To Verify Token $token = $request->input('otp_token'); if(! $user->verifyToken($myToken)) { return response()->json([ 'message' => 'Invalid OTP' ], 422); } } }
自定义
发布配置
php artisan vendor:publish --provider=Jefte\OTPGenerator\OTPServiceProvider --tag=otp-config
在您的.env文件中
# Default Characters generated OTP Token OTP_CHARACTERS=123456789 # Default Length OTP_LENGTH=6 # Token default TTL # 3600 secs = 1Hour # Use seconds as unit OTP_TTL=3600