mohamad-zatar/saudi-nafath-integration

一个用于与沙特Nafath服务集成的Laravel包,提供无缝的身份验证和认证解决方案。

v1.0.x-dev 2024-07-23 12:22 UTC

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,
    ],
];

贡献

欢迎贡献!请提交拉取请求或创建问题报告任何错误或功能请求。

许可

MIT

联系

有关任何问题或支持,请联系Mohamad Zatar,邮箱:lokasees@gmail.com