1. Go to this page and download the library: Download ilimurzin/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.
<?phprequire_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ilimurzin / esia example snippets
$config = new \Esia\Config(
clientId: 'FJ-VOLGA',
clientCertificateHash: 'CD6EA35843FDE0212F301509EDD5B51BA7C954782FA4DE0608550A7FB35D80EE',
redirectUrl: 'http://localhost/response.php',
portalUrl: 'https://esia-portal1.test.gosuslugi.ru/',
scopes: ['fullname', 'email'],
);
$esia = new \Esia\Esia(
$config,
new \Esia\Signer\CliCryptoProSigner(
'HDIMAGE\\\\3f452f01.000\\241C',
'1234567890',
'/opt/cprocsp/bin/csptest'
)
);
// state нужно сгенерировать и сохранить в сессию
$state = '7648d7bd-6369-4073-b545-90250f68025e';
$url = $esia->buildUrl($state);
// Пользователь переходит по url// После авторизации ЕСИА возвращает пользователя на redirectUrl с параметрами code и state// state нужно сравнить со значением, сохраненным в сессию// Получение маркера доступа в обмен на авторизационный код
$token = $esia->getToken($code);
// Пакет предоставляет только методы для получения маркера доступа.// Запрос за данными пользователя при необходимости можно сформировать самостоятельно.// Полученный маркер доступа передается в запросы за данными в заголовке Authorization, пример:// $request->withHeader('Authorization', 'Bearer ' . $token->accessToken);// Для запроса за данными пользователя также потребуется oid
$oid = $token->getOid();
// Получение нового маркера доступа в обмен на маркер обновления
$token = $esia->refreshToken($token->refreshToken);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.