Авторизация пользователей через OAUTH2 в ЕСИА: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Генерация ключа)
(Регистрация ИС)
Строка 50: Строка 50:
 
# Входим на сайт ГУ.  
 
# Входим на сайт ГУ.  
 
# Регистрируем организацию.
 
# Регистрируем организацию.
# Регистрируем ИС
+
# Регистрируем ИС. При этом загружаем сгенерированный файл сертификата miac_root.pem.
 +
==Создание заявки для подключения к тестовой версии ЕСИА==
 +
Делаем заявку для подключения к ЕСИА. Описание есть [http://minsvyaz.ru/ru/documents/4244/ тут].<br>
 +
==Как все работает==
 +
# Сначала делаем запрос на https://esia-portal1.test.gosuslugi.ru/aas/oauth2/ac на авторизацию . Более подробно можно посмотреть в документации. Единственно, scope дб openid.  Это ссылка с GET параметрами.<br>Структура запроса
 +
##client_id=LPUV01355 - Выданный при регистрации ИС на сайте ГУ. Можно посмотреть [https://esia.gosuslugi.ru/console/tech/ тут]
 +
##client_secret=MIIG1wYJKoZI.........
 +
##redirect_uri=https%3A%2F%2Fzapis.volmed.org.ru%2Fesia.php
 +
##scope=openid
 +
##response_type=code
 +
##state=5f0fd916-2499-4719-8236-d895ac458979
 +
##access_type=offline
 +
##timestamp=2017.07.01+10%3A59%3A50+%2B0300
  
 
Использую [https://github.com/fr05t1k/esia Class]<br>
 
Использую [https://github.com/fr05t1k/esia Class]<br>

Версия 11:19, 1 июля 2017

Буду писать основные моменты, когда получится все опишу подробно.
Описание всего этого дела лежит тут. Правда в нем уже куча ошибок. Обещают поправить в будущем.

Генерация ключа

создаем файл config.cfg

# Параметры для генерации открытого ключа.
[ req ]
# Секция основных опций
default_bits=2048
# Число бит
#default_keyfile=miac.pem
# Имя ключа, используемого для сертификата
distinguished_name=req_distinguished_name
# DN организации, выдавшей сертификат
prompt=no
# Брать параметры из конфига неинтерактивный режим
[ req_distinguished_name ]
# DN организации
CN=RU
# Страна
ST=Vologodskaya
# Область
L=Vologda
# Город
O=MIAC
# Название организации
OU=MIAC
# Название отделения
CN=volmed.org.ru
# Имя для сертификата (персоны, получающей сертификат)
emailAddress=miac35@mail.ru
# Мыло организации

Создаем файл генерации esia.sh. Сделал ключи без пароля.

openssl req  -x509 -sha256 -newkey rsa:2048 -nodes -days 3650 \
    -keyout miac_priv.pem \
    -out miac_root.pem \
    -config config.cfg

Запускаем его и получаем 2 файла сертификата.

$ sh esia.sh

Регистрация ИС

  1. Получаем ЭЦП на руководителя для входа на сайт ГУ
  2. Настраиваем комп для входа с этой ЭЦП. Учтите на данный момент при входе через FF, версия его дб , иначе не установится плагин для работы с ГУ.
  3. Входим на сайт ГУ.
  4. Регистрируем организацию.
  5. Регистрируем ИС. При этом загружаем сгенерированный файл сертификата miac_root.pem.

Создание заявки для подключения к тестовой версии ЕСИА

Делаем заявку для подключения к ЕСИА. Описание есть тут.

Как все работает

  1. Сначала делаем запрос на https://esia-portal1.test.gosuslugi.ru/aas/oauth2/ac на авторизацию . Более подробно можно посмотреть в документации. Единственно, scope дб openid. Это ссылка с GET параметрами.
    Структура запроса
    1. client_id=LPUV01355 - Выданный при регистрации ИС на сайте ГУ. Можно посмотреть тут
    2. client_secret=MIIG1wYJKoZI.........
    3. redirect_uri=https%3A%2F%2Fzapis.volmed.org.ru%2Fesia.php
    4. scope=openid
    5. response_type=code
    6. state=5f0fd916-2499-4719-8236-d895ac458979
    7. access_type=offline
    8. timestamp=2017.07.01+10%3A59%3A50+%2B0300

Использую Class