Всем доброго дня!
Есть задача реализовать на сайте авторизацию через 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>';
Ссылка генерируется нормально, при переходе по ней открывается тестовый сайт госуслуг, ввожу логин и пароль от тестовых учетных данных, далее у меня выходит ошибка типа:
Открываю логи, а там:
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
Что я делаю не так?
Буду рад любым ответам!