boxed-code / laravel-challenge
为Laravel应用提供多方法双因素认证。
2.0
2021-02-19 19:27 UTC
Requires
- php: >=7.4
- illuminate/bus: ^6.0|^7.0|^8.0
- illuminate/console: ^6.0|^7.0|^8.0
- illuminate/contracts: ^6.0|^7.0|^8.0
- illuminate/database: ^6.0|^7.0|^8.0
- illuminate/events: ^6.0|^7.0|^8.0
- illuminate/http: ^6.0|^7.0|^8.0
- illuminate/notifications: ^6.0|^7.0|^8.0
- illuminate/routing: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- laravel/ui: ^1.0|^2.0|^3.0
- mockery/mockery: ^1.3.3
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
- symfony/thanks: ^1.0
Suggests
- bacon/bacon-qr-code: Allows local generation of QR code images
- laravel-notification-channels/twilio: Allows the use of twilio SMS & voice
- pragmarx/google2fa: Allows use of Google Authenticator (OTP)
This package is auto-updated.
Last update: 2024-09-21 00:40:59 UTC
README
版本兼容性
您需要PHP >= 7.4和Laravel 6.x, 7.x或8.x。
入门
一个演示项目可在laravel-challenge-demo找到,查看这个提交了解如何简单实现。
安装
composer require boxed-code/laravel-challenge
,然后使用./artisan migrate
运行数据库迁移
实现
修改您的User模型类以实现\BoxedCode\Laravel\Auth\Challenge\Contracts\Challengeable
接口,并可选地使用BoxedCode\Laravel\Auth\Challenge\Challengeable
特质,或者自行实现合约中定义的方法。
接下来,您必须将中间件\BoxedCode\Laravel\Auth\Challenge\Http\Middleware\RequireAuthentication
添加到您想要保护的路由中,或者简单地将其添加到全局堆栈中
进一步步骤
在https:///tfa/email/enrol
登录并注册到默认的'email'认证方法,然后注销并重新登录,通过电子邮件进行2FA挑战。
待文档化
- 概述
- 配置选项(challengeable.php)
- 认证方法
- 启用默认方法
- 电子邮件
- Twilio短信
- Twilio语音(进行中)
- Google身份验证器[OTP]
- 密码(进行中)
- 基于自定义通知的认证方法
- 自定义认证方法
- 启用默认方法
- 挑战
- 令牌生成器
- 有效期与定期重新认证
- 自定义仓储
- 不同目的和生命周期的认证
- 皮肤/主题视图
- 事件
许可协议
MIT