vanta/esia-gateway-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vanta/esia-gateway-client

最新稳定版本:0.5.3

Composer 安装命令:

composer require vanta/esia-gateway-client

包简介

Pure client for ESIA gateway

README 文档

README

Клиент для общения со шлюзом ЕСИА. Текущая версия поддерживает только взаимодействие через ЦПГ HTTP API.

Установка

Минимальная версия PHP: 8.1

  1. Выполнить composer require vanta/esia-gateway-client
  2. Обязательно установить PSR-совместимый клиент

Использование

Создание инстанса клиента:

use GuzzleHttp\Psr7\HttpFactory;
use Symfony\Component\HttpClient\CurlHttpClient;
use Symfony\Component\HttpClient\Psr18Client;
use Vanta\Integration\EsiaGateway\RestClientBuilder;
use Vanta\Integration\EsiaGateway\Infrastructure\HttpClient\ConfigurationClient;

$builder = RestClientBuilder::create(
    new Psr18Client(new CurlHttpClient(), new HttpFactory(), new HttpFactory()),
    new ConfigurationClient(
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET',
        url: 'YOUR_URL_GATEWAY',
        redirectUri: 'https://auth.vanta.ru'
    )
);

$client = $builder->createEsiaGatewayClient('https://demo.gate.esia.pro', 'https://pos-credit.ru');

Генерация URL для авторизации пользователя:

$authorizationUrl = $builder->createAuthorizationUrlBuilder()
    ->withPermission(ScopePermission::DRIVERS_LICENSE_DOC)
    ->withoutPermission(ScopePermission::MOBILE)
    ->build()
;

Обмен авторизационного кода на токен доступа и токен обновления:

$accessToken = $client->getPairKeyByAuthorizationCode($code);

Обмен токена обновления на токен доступа и новый токен обновления:

$accessToken = $client->getPairKeyByRefreshToken($refreshToken);

Получение информации о пользователе:

$userInfo = $client->getUserInfo($accessToken);

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-04-08