Skip to content

Клиент для общения со шлюзом ЕСИА

Notifications You must be signed in to change notification settings

kozlice/Esia-gateway-client

 
 

Repository files navigation

ESIA gateway client

Клиент для общения со шлюзом ЕСИА. Текущая версия поддерживает только взаимодействие через ЦПГ 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\Client\DefaultEsiaGatewayClientBuilder;

$builder = DefaultEsiaGatewayClientBuilder::create(
    new Psr18Client(new CurlHttpClient(), new HttpFactory(), new HttpFactory()),
    'YOUR_CLIENT_ID',
    'YOUT_CLIENT_SECRET',
);

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

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

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

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

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

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

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

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

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

About

Клиент для общения со шлюзом ЕСИА

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 99.8%
  • Makefile 0.2%