narekmarkosyan / laravel-admin-telegram-two-factor

为laravel-admin添加基于Telegram的二次验证

v0.0.2 2023-05-09 20:11 UTC

This package is auto-updated.

Last update: 2024-09-09 22:55:43 UTC


README

灵感来源于 https://github.com/shanerutter/laravel-admin-email-two-factor

将二次验证添加到管理员登录,管理员将通过Telegram接收一条包含6位数的验证码的消息以完成登录。

注意

数据库中添加了一个新的 "telegram_id" 字段,因为laravel-admin默认没有这个字段。安装并完成迁移后,您需要通过数据库设置每个用户的电子邮件地址。目前还没有实现通过UI进行设置的方法。

安装

composer require narekmarkosyan/laravel-admin-telegram-two-factor

迁移

向管理员用户表添加telegram_id字段。

php artisan migrate

配置

config/admin.php 文件的扩展部分,添加配置

'extensions' => [
    'auth-telegram-two-factor' => [
        'enable' => (bool)env('ADMIN_AUTH_TELEGRAM_TWO_FACTOR', true),
        'botKey' => env('ADMIN_AUTH_TELEGRAM_TWO_FACTOR_BOT_KEY', true),
        'pinLength' => (int)env('ADMIN_AUTH_TELEGRAM_TWO_FACTOR_PIN_LENGTH', 6),
        'rememberDays' => (bool)env('ADMIN_AUTH_TELEGRAM_TWO_FACTOR_REMEMBER_DAYS', 1),
    ]
]

.env 文件中,添加配置

ADMIN_AUTH_TELEGRAM_TWO_FACTOR=true
ADMIN_AUTH_TELEGRAM_TWO_FACTOR_BOT_KEY=123456789:AABBB_ZXCVBNMdfghjXCVvb_AA
ADMIN_AUTH_TELEGRAM_TWO_FACTOR_PIN_LENGTH=6
ADMIN_AUTH_TELEGRAM_TWO_FACTOR_REMEMBER_DAYS=1

许可证

MIT许可证 (MIT) 下授权。