devadamlar / laravel-id3global
充当 Laravel Eloquent 和 GBG ID3global 服务之间的适配器
1.0.0
2021-09-16 12:32 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.57
- madmatt/id3global-service: ^1.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^6.20
- phpunit/phpunit: ^9.0
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
类的结构。