devadamlar/laravel-id3global

充当 Laravel Eloquent 和 GBG ID3global 服务之间的适配器

1.0.0 2021-09-16 12:32 UTC

This package is auto-updated.

Last update: 2024-09-16 19:34:10 UTC


README

此包将 Eloquent 模型转换为可发送至通过 ID3global API 验证用户的身份对象的 Identity 对象。

安装

安装库

composer require devadamlar/laravel-id3global

定义以下环境变量

ID3GLOBAL_USERNAME=
ID3GLOBAL_PASSWORD=

如果 APP_ENV 不是 Production,则将使用试点网站。您可以通过在环境文件中设置 ID3GLOBAL_USE_PILOT 变量来覆盖此设置。

用法

在您的 Eloquent 模型中使用 Verifiable 特性,并通过 makeInputData 方法将它们转换为 GlobalInputData 对象。现在您可以调用 Id3globalService 门面的 authenticateSp 方法,并将创建的对象传递给验证。

您可以在模型中设置 $globalInputData 数组以覆盖要映射到 ID3global 的 GlobalInputData 属性的属性名称。如果要从关系映射属性,请用点分隔关系名称和属性名称

use DevAdamlar\LaravelId3global\Verifiable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;

class User extends Model
{
    use Verifiable;
    
    protected array $globalInputData = [
        'Personal.PersonalDetails.Gender' => 'sex',
        'ContactDetails.MobileTelephone.Number' => 'contact.mobile',
    ];
    
    public function contact(): HasOne
    {
        return $this->hasOne(Contact::class);
    }
}

class Contact extends Model
{

}

一些常用属性将自动映射到相应的字段

如果您需要即时覆盖某些属性,请传递一个包含要覆盖的属性的数组的值,作为相应键的值

$user = User::find(1);
$user->makeInputData([
    'ContactDetails.MobileTelephone.Number' => '+994502000000'
]);

请参考 ID3global 的 WSDL 文档,以查看 GlobalInputData 类的结构。