rehankanak / guardian
Laravel桌面浏览器通过手机应用验证用户登录的包
1.0.0
2024-02-15 14:12 UTC
Requires
- php: ^8.1
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^v8.21.1
- pestphp/pest: ^2.33
README
此Laravel包帮助您的应用程序通过手机应用验证用户在桌面浏览器上的登录。它通过生成一系列选项来实现,用户通过手机应用对这些选项进行响应。如果用户正确响应,则登录验证成功并可授权。
我们包中包含以下GuardingType
:
INPUT
:用户在手机应用中输入一个代码。PRESS
:用户在手机应用中按下一个代码。APPROVE/DENY
:用户通过手机应用批准或拒绝登录请求。
包提供了以下路由:
POST /api/guardian/generate
- 此路由用于为用户生成一个响应的监护人。
POST /api/guardian/respond
- 此路由用于通过手机应用响应监护人。
POST /api/guardian/status
- 此路由用于验证用户的响应并授权登录。
流程
桌面
- 当用户尝试在桌面上登录,并且用户凭证验证通过时,为用户生成一个响应的监护人。
- 使用
POST /api/guardian/generate
路由,根据用户的uuid
生成监护人。 - 一旦监护人生成,向用户发送通知,包括之前步骤中获得的
GuardianType
和GuardianOption
。
- 使用
- 轮询
POST /api/guardian/status
路由,检查用户是否已对监护人做出响应,这可以给出三种结果:- -1:用户尚未响应
- 0:用户已响应,但响应错误
- 1:用户已响应,且响应正确
- 根据状态,您可以授权登录,或要求用户重新响应或生成新的监护人。
手机
- 根据
GuardianType
和GuardianOption
向用户显示UIINPUT
:向用户显示文本输入框,用于输入代码PRESS
:向用户显示代码列表,用于按下正确的代码APPROVE/DENY
:向用户显示两个按钮,用于批准或拒绝登录请求
- 用户响应时,使用
POST /api/guardian/respond
路由将响应发送到服务器。
安装
您可以通过composer安装此包
composer require rehankanak/guardian
贡献
这是一个由社区驱动的包。如果您发现任何错误,请创建一个带有修复的pull request,或者至少打开一个issue。
测试
composer test
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。