Кто делал авторизацию через ESIA на сайте?

Всем доброго дня!
Есть задача реализовать на сайте авторизацию через esia. Наш сайт работает на PHP.
Для работы с есиа скачал готовое решение тут: https://github.com/fr05t1k/esia
В коде пишу следующее:
include_once $_SERVER['DOCUMENT_ROOT'].'/esia/autoload.php';
function mylog($message){
    $file = $_SERVER['DOCUMENT_ROOT'].'/esia/datalog.txt';
    file_put_contents($file, $message, FILE_APPEND | LOCK_EX);
}
$config = [
   'clientId' => 'AAAC01564',
   'redirectUrl' => 'http://domen.ru/index.php?id=19',
   'portalUrl' => 'https://esia-portal1.test.gosuslugi.ru/',
   'privateKeyPath' => $_SERVER['DOCUMENT_ROOT'].'/esia/private.key',
   'privateKeyPassword' => 'pass',
   'certPath' => $_SERVER['DOCUMENT_ROOT'].'/esia/cert.crt',
   'tmpPath' => $_SERVER['DOCUMENT_ROOT'].'/esia/tmp',
   'log' => 'mylog',
];
$esia = new \esia\OpenId($config);
echo '<a class="btn-base small" target="_self" href="'.$esia->getUrl().'">Войти</a>';

Ссылка генерируется нормально, при переходе по ней открывается тестовый сайт госуслуг, ввожу логин и пароль от тестовых учетных данных, далее у меня выходит ошибка типа:
5a2645db5e8db031051105.jpeg
Открываю логи, а там:
2017-12-01 13:53:52,710 DEBUG ru.atc.esia.security [ru.atc.esia.aas.oauth2.server.filter.AbstractOAuth2Filter:62] The client id [AAAC01564] has been authenticated. 
2017-12-01 13:53:52,713 ERROR ru.atc.esia.security [ru.atc.esia.aas.oauth2.server.token.SystemScopeAuthorityRulesValidator:63] Requested scope http://esia.gosuslugi.ru/usr_inf by system: AAAC01564, state: a6ad338b-ae26-4125-a5c9-2eb38f1bbfac is not allowed to system by scope authority policy [TABLE ESIA.SYS_SCP_AUT] 
2017-12-01 13:53:52,714 ERROR ru.atc.esia.oauth2 [ru.atc.esia.aas.oauth2.server.filter.AuthzCodeEndpointFilter:126] Requested scopes not permitted. request(#1990314443), state: a6ad338b-ae26-4125-a5c9-2eb38f1bbfac, client id AAAC01564

Что я делаю не так?
Буду рад любым ответам!
  • Вопрос задан
  • 967 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ArturF
php dev
С ЕСИА давно не работал, но судя по тексту ошибки `Requested scope http://esia.gosuslugi.ru/usr_inf` вам просто нужно передать корректный scope. По всей видимости у тестового портала он отличается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы