1. Go to this page and download the library: Download pavelrockjob/esia library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pavelrockjob / esia example snippets
//index.php
ew \Pavelrockjob\Esia\EsiaProvider(new \Pavelrockjob\Esia\EsiaConfig([
//Куда отправляем запрос (https://esia-portal1.test.gosuslugi.ru тестовый сервер есиа)
'esiaUrl' => 'https://esia-portal1.test.gosuslugi.ru',
//Редирект на страницу после успешной аутентификации
'redirectUrl' => 'http://127.0.0.1/callback.php',
//Мнемоника
'clientId' => 'МНЕМОНИКА_ИЗ_ЕСИА',
//Доступные скоупы
'scopes' => [\Pavelrockjob\Esia\Enums\EsiaScope::fullname, \Pavelrockjob\Esia\Enums\EsiaScope::openid]
]),
//Signer, штука которая умеет шифровать строки по алгоритму ГОСТ Р 34.11-2012
//CustomSigner не будет работать, нужно реализовать метот sign
new \Pavelrockjob\Esia\Signers\CustomSigner());
//Получаем ссылку на вход в есиа
var_dump($provider->getAuthLink());
$provider = new \Pavelrockjob\Esia\EsiaProvider(new \Pavelrockjob\Esia\EsiaConfig([
'esiaUrl' => 'https://esia-portal1.test.gosuslugi.ru',
'redirectUrl' => 'http://127.0.0.1/callback.php',
'clientId' => 'МНЕМОНИКА_ИЗ_ЕСИА',
'scopes' => [\Pavelrockjob\Esia\Enums\EsiaScope::fullname, \Pavelrockjob\Esia\Enums\EsiaScope::openid]
]),
new \Pavelrockjob\Esia\Signers\CustomSigner());
//После успешной авторизации можем обращатся к ESIA для получения доступных данных
//Получение OID
$provider->getOid()
//Пример получения персональной информации о пользователе
//Вся доступная информация
$personalData = $provider->api()->prns()->get();
//Конкретное поле
$personalData->getFirstName()
//Персональные документы пользователя
$documents = $provider->api()->prns()->docs();
//Существуют магические методы для получения документов
$provider->api()->prns()->docs()->getRfPassport();
//Установите конфиги в config/esia.php
$provider = new EsiaProvider(new EsiaConfig([
//Установите доступные скоупы
'scopes' => [
EsiaScope::openid,
EsiaScope::fullname,
],
]),
//Signer, штука которая умеет шифровать строки по алгоритму ГОСТ Р 34.11-2012
//CustomSigner не будет работать, нужно реализовать метот sign
new \Pavelrockjob\Esia\Signers\CustomSigner());
//Получаем ссылку на вход в есиа
dd($provider->getAuthLink());
$provider = new EsiaProvider(new EsiaConfig([
'scopes' => [
EsiaScope::openid,
EsiaScope::fullname,
],
]),
new \Pavelrockjob\Esia\Signers\CustomSigner());
//После успешной авторизации можем обращатся к ESIA для получения доступных данных
dd($provider->getOid())