bytefederal / byteauth-laravel
基于比特币加密标准的Laravel应用程序快速认证系统,由Byte Federal提供。
Requires
- php: ^7.3|^8.0
- laravel/framework: ^8.0 || ^9.0 || ^10.0 || ^11.0
- livewire/livewire: ^3.0
- simplesoftwareio/simple-qrcode: ^4.0
This package is auto-updated.
Last update: 2024-09-19 15:51:20 UTC
README
ByteAuth-Laravel
描述
ByteAuth-Laravel是一个即插即用的Laravel包,它将Byte Federal的快速认证系统集成到您的Laravel应用程序中,利用比特币加密标准(ECDSA/SHA256)。这个高级包不仅提供了一种无缝的方式将用户上线并启用安全的登录功能,类似于Webauthn标准,而且还引入了几个突破性的功能
- 它确保了加密密钥得到了备份,增加了安全性,
- 独立于用户的操作系统操作,而是使用智能手机作为通用访问密钥,
- 集成了用户身份验证,以防止欺诈用户,包括在认证过程中对真实人类存在的活体检查。
- 此外,它还为用户提供了一个支持闪电和比特币交易的数字钱包,增强了整体用户体验(LNUrl,微支付等)。
通过集成ByteAuth-Laravel,您可以在Laravel项目中轻松实现最先进的全面认证系统,利用比特币加密基础设施的强大和安全性。
特性
- 快速认证:利用Byte Federal的快速认证过程来提升用户体验。
- 比特币加密标准:从比特币加密实践的高安全性中获益。
- 易于集成:无缝集成到Laravel应用程序中,提供前端和后端操作的Livewire组件。
- 示例登录页面:使用为Laravel应用程序定制的示例登录页面快速开始。
- Webhook支持:包含用于处理认证回调的
WebhookController
。
安装
此包需要simplesoftwareio/simple-qrcode
。如果尚未安装,可以通过运行以下命令进行安装
composer require simplesoftwareio/simple-qrcode
要安装ByteAuth-Laravel,请在您的Laravel项目中运行以下命令
composer require bytefederal/byteauth-laravel
安装byteauth-laravel包后,您可以使用以下命令发布QR码的配置文件
php artisan vendor:publish --provider="SimpleSoftwareIO\QrCode\QrCodeServiceProvider"
配置
安装后,通过运行以下命令发布包的配置文件
php artisan vendor:publish --provider="ByteFederal\\ByteAuthLaravel\\ByteAuthServiceProvider"
这将发布ByteAuth-Laravel配置文件到您的项目配置目录。根据您的应用程序需求修改此文件。
此外,要自定义QR码生成过程使用的域名
发布配置
php artisan vendor:publish --tag=byteauth-config
此命令将ByteAuth-Laravel配置文件发布到您的Laravel项目配置目录。
编辑配置文件
打开项目中的已发布config/byteauth.php,将域名值设置为您的网站域名,API密钥以及成功登录后的重定向到您网站仪表板的路径。
return [ 'domain' => env('BYTEAUTH_DOMAIN_REGISTERED', 'my.example.com'), 'api_key' => env('BYTEAUTH_API_KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'), 'home' => env("BYTEAUTH_HOME_REDIRECT", "/home"), ];
确保在ByteFederal的API部分注册您的域名。
在组件中使用配置
更新您的Livewire组件或应用程序的其他部分,以便在生成QR码或进行相关API调用时使用此配置值。
php artisan vendor:publish --tag=byteauth-views
此设置使您的应用程序能够使用并可能自定义包含的示例登录页面。
请确保将以下三个路由添加到您的routes/api.php
文件中
//backend webhook endpoints Route::post('/webhook/registration', [WebhookController::class, 'handleRegistration']); Route::post('/webhook/login', [WebhookController::class, 'handleLogin']);
虽然上述路由不需要会话信息,并且将从中继服务器调用,但以下端点确实需要会话信息,因此应在您的 routes/web.php
文件中设置
//frontend session handling endpoints Route::get('/api/check', [WebhookController::class, 'check']); Route::get('/api/bwauth', [WebhookController::class, 'bwauth']); //sample login page Route::get('/byte', [WebhookController::class, 'sample']);
或访客路由部分。确保 CORS 规则允许 WebhookController 接收传入的帖子。
故障排除
您可能需要安装 imagick
来在服务器上启用二维码生成。注意类似这样的消息
[previous exception] [object] (BaconQrCode\\Exception\\RuntimeException(code: 0): You need to install the imagick extension to use this back end at /var/www/laravel/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImagickImageBackEnd.php:64)
只需安装 imagick 并添加其 php 模块
sudo apt-get install php8.2-imagick sudo phpenmod imagick sudo systemctl restart apache2
用法
要在您的应用程序中使用 ByteAuth-Laravel,请按照以下步骤操作
- 路由设置:将包路由导入您的 routes/api.php 文件。
- 使用您方便的路径上的示例登录页面。它将为您的用户提供登录网站或使用 ByteWallet 注册的方式
- 要免费注册此服务的域名,请访问 wallet.bytefederal.com/web/login 并注册您的域名、webhook URL 和 API 密钥。
- 享受生物识别安全的无密码身份验证系统
有关详细使用说明,请参阅 文档。
祝您编码愉快!
贡献
欢迎为 ByteAuth-Laravel 做出贡献。
许可证 ByteAuth-Laravel 是开源软件,根据 MIT 许可证授权。