teh9 / laravel2fa
为 Laravel 实现的一个简单的通过 Telegram 进行两步验证的包
v1.1.1
2023-05-08 19:14 UTC
Requires
- php: ^8.0|^8.1
README
使用 Telegram 为 Laravel 实现的两步验证的简单实现。
安装
您可以通过 composer 安装此包
composer require teh9/laravel2fa
发布包的配置、迁移和本地化文件
php artisan vendor:publish --provider="Teh9\Laravel2fa\TelegramTwoFactorServiceProvider"
用法
设置
在您的项目文件夹中的 config/laravel2fa.php
,提供机器人 API 密钥,可以通过官方的 Telegram 机器人 @BotFather 获取
'api_key' => 'YOUR_BOT_API_KEY'
迁移
发布后,您将有一个迁移,执行以下操作:
php artisan migrate
将为 users 表添加 2 列,如果您想更改表,可以在迁移文件中这样做:database/migrations/add_two_factor_columns_to_model_table.php
chat_id - big integer|nullable|deafult-null
secret - string |nullable|default-null
语言
在文件 /resources/lang/[lang]
/2fa.php 中提供了 2 种语言
- en;
- ru;
您可以添加任何其他语言,但请注意现有的实现,以确保正确性
准备用户模型
class User extends Model implements TelegramTwoFactor { use HasAuth; }
将代码保存到数据库,并通过 Telegram 发送带有代码的通知
$user = User::first(); // Might be passed 2 params // 1-st preffered length of code by default 6 // 2-nd is language by default en $user->sendCode(4, 'ru'); // return boolean
验证代码
// The received code from the telegram must be passed to the method, which is described below $code = 'CODE_FROM_TELEGRAM'; $user = User::first(); $user->validateCode($code); // return boolean
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件