Skip to content
Компонент для авторизации на портале "Госуслуги" (ЕСИА)
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead, 26 commits behind fr05t1k:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
README.md
codeception.yml
composer.json
composer.lock

README.md

Единая система идентификации и аутентификации (ЕСИА) OpenId

Build Status

Описание

Компонент для авторизации на портале "Госуслуги"

Установка

При помощи composer:

composer require --prefer-dist fr05t1k/esia

Или добавьте в composer.json

"fr05t1k/esia" : "dev-master"

Как использовать

Пример получения ссылки для авторизации

<?php 
$config = [
   'clientId' => 'INSP03211',
   'redirectUrl' => 'http://my-site.com/response.php',
   'portalUrl' => 'https://esia-portal1.test.gosuslugi.ru/',
   'privateKeyPath' => 'my-site.com.pem',
   'privateKeyPassword' => 'my-site.com',
   'certPath' => 'my-site.com.pem',
   'tmpPath' => 'tmp',
];

$esia = new \esia\OpenId($config);
?>

<a href="<?=$esia->getUrl()?>">Войти через портал госуслуги</a>

После редиректа на ваш redirectUrl вы получите в $_GET['code'] код для получения токена

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


$esia = new \esia\OpenId($config);

$esia->getToken($_GET['code']);

$personInfo = $esia->getPersonInfo();
$addressInfo = $esia->getAddressInfo();
$contactInfo = $esia->getContactInfo();

Конфиг

clientId - ID вашего приложения.

redirectUrl - URL куда будет перенаправлен ответ с кодом.

portalUrl - по умолчанию: https://esia-portal1.test.gosuslugi.ru/. Домен портала для авторизация (только домен).

codeUrl - по умолчанию: aas/oauth2/ac. URL для получения кода.

tokenUrl - по умолчанию: aas/oauth2/te. URL для получение токена.

scope - по умолчанию: http://esia.gosuslugi.ru/usr_inf. Запрашиваемые права у пользователя.

privateKeyPath - путь до приватного ключа.

privateKeyPassword - пароль от приватного ключа.

certPath - путь до сертификата.

tmpPath - путь до дериктории где будет проходить подпись (должна быть доступна для записи).

log - callable с одни параметром $message, в который будет передаваться сообщения лога.

You can’t perform that action at this time.