Клиент для общения со шлюзом ЕСИА. Текущая версия поддерживает только взаимодействие через ЦПГ HTTP API.
Минимальная версия PHP: 8.1
- Выполнить
composer require vanta/esia-gateway-client
- Обязательно установить 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);