Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Приложение демонстрирует получение авторизационного кода из системы ЕСИА (Госуслуги).

Актуальная версия "Методических рекомендаций по использованию Единой системы идентификации и аутентификации": 2.76.

Подготовка

Предполагается, что регистрация системы в ЕСИА выполнена, и контейнер с сертификатом и приватным ключом получен.

ПО

Используется java-криптопровайдер КриптоПро JCP версии 2.0.41789-R4 и Java 8.

КриптоПро JCP должен быть установлен в JDK (JRE), в которой запускается данное приложение.

Для Windows и Java 8 установка КриптоПро JCP может быть выполнена при помощи setup.exe в скаченном дистрибутиве.

Контейнер

Контейнер КриптоПро читается из стандартного расположения в файловой системе.

Для Windows это C:\Users\%username%\AppData\Local\Crypto Pro\, куда необходимо поместить директорию с контейнером.

Убедитесь, что Вы видите контейнер с ключом и сертификатом в GUI КриптоПро JCP во вкладке "Хранилища ключей и сертификатов" в папке HDImageStore.

Запуск

Для работы приложения требуются следующие переменные среды:

Переменная Описание
ESIA_CLIENT_ID идентификатор системы-клиента (мнемоника системы в ЕСИА)
ESIA_KEYSTORE_ALIAS алиас ключа и сертификата в контейнере
ESIA_PRIVATE_KEY_PASSWORD пароль приватного ключа в контейнере

Для запуска выполните mvn spring-boot:run или используйте любой другой способ запуска Spring Boot приложения.
Помните, что для запуска необходима JDK (JRE) с установленным КриптоПро JCP.

После запуска откройте в браузере http://localhost:8080.
Нажмите login with esia. Пройдите авторизацию (тестовой) записью и подтвердите запрошенные разрешения.
Вы будете перенаправлены обратно на страницу приложения.

При успехе Вы увидите полученный авторизационный код и его содержимое (если это jwt).

При неудаче - сообщение об ошибке и описание ошибки.

Troubleshooting

  • ESIA-007005: The client is not authorized to request an access token using this method.

Вводящая в заблуждение формулировка сообщения об ошибке. Вероятнее всего некорректно сформирован параметр client_secret.
Возможно, Вы используете незарегистрированный в ЕСИА сертификат или неподдерживаемый алгоритм формирования подписи.

  • ESIA-007014: The request doesn`t contain the mandatory parameter [timestamp].

Такое сообщение об ошибке может быть получено, даже если параметр timestamp в запросе присутствует.
Вероятнее всего, некорректный формат параметра timestamp. Обратите внимание на url-encoding символов.
Пример корректного параметра timestamp: timestamp=2021.02.12+00%3A15%3A26+%2B0300.

  • После прохождения авторизации в ЕСИА не происходит возвращение в приложение.

Некорректно сформирован параметр redirect_uri. Обратите внимание на url-encoding символов.
Пример корректного параметра redirect_uri: redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fesia_return.

About

Приложение демонстрирует получение авторизационного кода из системы ЕСИА (Госуслуги)

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages