bkpsdm-karawang/sim-asn-php-client
最新稳定版本:4.1.0
Composer 安装命令:
composer require bkpsdm-karawang/sim-asn-php-client
包简介
PHP Client for SIM-ASN Service BKPSDM Karawang
关键字:
README 文档
README
This is php client SDK for SIM-ASN BKPSDM Kabupaten Karawang api services
Installation
require this package via composer
composer require bkpsdm-karawang/sim-asn-php-client
add environment value to .env
SIM_ASN_CLIENT_ID=xxxx SIM_ASN_CLIENT_SECRET=xxxx
We recomend add two field to user table
$table->uuid('sim_asn_user_id')->nullable()->default(null); $table->json('sim_asn_token')->nullable()->default(null);
Add refresh token handler in boot of AppServiceProvider.php
use SIM_ASN\Laravel\Facades\UserClient; use SIM_ASN\Models\AccessToken; ... /** * Register any application services. * * @return void */ public function boot(Request $request) { $user = $request->user(); if ($user) { if ($user->sim_asn_token) { UserClient::setAccessToken($user->sim_asn_token); } UserClient::onRefreshToken(function(AccessToken $accessToken) use ($user) { $user->sim_asn_token = $accessToken; $user->save(); }); } }
Usage
Create callback handler route
use SIM_ASN\Laravel\Facades\OauthClient; use SIM_ASN\Models\AccessToken; use SIM_ASN\Models\User as UserSimASN; /** * callback sim-asn */ public function callbackSimASN(Request $request) { return OauthClient::handleCallback($request, function (UserSimASN $userSimASN, AccessToken $token) { $user = User::whereSimAsnUserId($userSimASN->id)->first(); if ($user) { $user->sim_asn_token = $token; $user->save(); return Auth::login($user); } return null; }); }
Manualy get access token by response code
$accessToken = OauthClient::requestAccessToken($request->code);
Get user profile
$user = UserClient::setAccessToken($accessToken)->getUser();
App Client or User Client is extended class from guzzle client so you can directly use http guzzle client
use SIM_ASN\Laravel\Facades\AppClient; ... AppClient::get('/api/endpoint'); AppClient::post('/api/endpoint', [ 'body' => ['foo' => 'bar'] ]);
统计信息
- 总下载量: 684
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-10-28