mohamad-zatar / saudi-nafath-integration
一个用于与沙特Nafath服务集成的Laravel包,提供无缝的身份验证和认证解决方案。
v1.0.x-dev
2024-07-23 12:22 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0|^10.0
This package is auto-updated.
Last update: 2024-09-23 13:01:52 UTC
README
此Laravel包提供了与沙特Nafath认证系统的集成。它允许您轻松通过Nafath管理用户认证并处理验证回调。
功能
- 向Nafath发送认证请求。
- 处理验证回调并更新用户状态。
- 派发事件以自定义处理验证成功和拒绝。
安装
1. 安装包
您可以通过Composer安装此包。在您的Laravel项目中运行以下命令:
composer require mohamad-zatar/nafath
2. 发布配置
发布包配置文件以根据您的需求进行自定义
php artisan vendor:publish --provider="MohamadZatar\Nafath\NafathServiceProvider"
这将在您的config目录中创建一个nafath.php配置文件。
配置
1. 添加配置
在config/nafath.php文件中,设置您的Nafath API URL基础和API密钥
return [ 'NAFATH_URL_BASE' => env('NAFATH_URL_BASE', 'your-subdomain'), 'NAFATH_API_KEY' => env('NAFATH_API_KEY', 'your-api-key'), ];
将这些值添加到您的.env文件中
NAFATH_URL_BASE=your-subdomain NAFATH_API_KEY=your-api-key
2. 迁移
发布nafath_logins表的迁移
php artisan migrate
使用方法
1. 发送登录请求
要向Nafath发送登录请求,请使用包提供的NafathController。您可以使用此控制器来处理认证请求。
2. 处理回调
通过在您的Nafath仪表板中定义回调URL并将其配置为指向您的应用程序端点来处理来自Nafath的回调。端点应由NafathController中的nafathPostCallback方法处理。
3. 事件处理
该包派发了两个您可以在应用程序中监听的事件
- MohamadZatar\Nafath\Events\VerificationVerified
- MohamadZatar\Nafath\Events\VerificationRejected
定义监听器
在您的Laravel应用程序中为这些事件创建监听器
// app/Listeners/HandleVerificationVerified.php namespace App\Listeners; use MohamadZatar\Nafath\Events\VerificationVerified; class HandleVerificationVerified { public function handle(VerificationVerified $event) { // Custom logic for verification success } } // app/Listeners/HandleVerificationRejected.php namespace App\Listeners; use MohamadZatar\Nafath\Events\VerificationRejected; class HandleVerificationRejected { public function handle(VerificationRejected $event) { // Custom logic for verification rejection } }
注册事件监听器
将您的监听器添加到EventServiceProvider
// app/Providers/EventServiceProvider.php protected $listen = [ VerificationVerified::class => [ HandleVerificationVerified::class, ], VerificationRejected::class => [ HandleVerificationRejected::class, ], ];
贡献
欢迎贡献!请提交拉取请求或创建问题报告任何错误或功能请求。
许可
联系
有关任何问题或支持,请联系Mohamad Zatar,邮箱:lokasees@gmail.com。