SEOFAQ Telegram, маркетинг и SEO Канал SEOFAQT в мессенджере Telegram

Все чатыМы подумали, что логично было бы подписывать ту же строку таким...


Мы подумали, что логично было бы подписывать ту же строку таким же образом, но с помощью PKCS12 вместо PKCS7, так как другого указано нигде не было. Отлаживаем запросы на микросервис, понимаем, что выглядит все нормально, отсылаем на ЕСИА, получаем ошибку 007005 (unauthorized_client Система-клиент не имеет права запрашивать получение маркера доступа таким методом). Но именно ее мы и получали с истекшим сертификатом. Подробностей об этой ошибке нигде нет, только код и название. Перечитываем вновь 163 страницы документации ЕСИА, обращаем внимание на то, что все запросы должны быть https. Шлем мы явно на https, а вот backurl наш без https. Ставим сертификат на тестовый сервер. Получаем ту же ошибку 007005. Сертификат точно валидный и действующий, мы проверили. Значит, вопрос не в нем. Начинаем внимательно изучать, нет ли потерь при передаче информации микросервису. Внимательно посмотрев, заметили, что метод urlencode сжирает знак плюса, а urldecode обратно его не возвращает. Ок, правим этот нюанс. Теперь строки точно совпадают. Отправляем запрос, получаем 007005. Перепроверяем всю цепочку логических шагов. Запрашиваем информацию у ДИТ мэрии, добавлен ли сертификат в ЕСИА. Ответ – добавлен. Начинаем изучать документацию, как вообще подключиться к ЕСИА организационно, а не технически. В недрах одной из официальных инструкций замечаем подпись маленьким сереньким шрифтом о том, что в настройках обязательно должен быть прописан backurl, если не прописать, то система не отправит данные на незнакомый. Просим добавить в настройки и тестовый домен, и полный урл до скрипта, на который мы должны получить авторизационный код. Отправляем запрос и получаем 007005. Проверяем всю цепочку подключения, настроек и техничского воплощения еще раз. И еще раз тщательно. Смотрим на запросы, что и куда уходит, сверяемся с документацией. Все четко по инструкции, но все равно 007005.

Под ночь воскресенья остался только один вариант перед тем, как сдаться – попробовать вместо тестового адреса ЕСИА использовать боевой. Меняем урл на боевой, отправляем запрос и... победа! Быстро собираем архив с измененным модулем для мэрии, оставляем работать микросервис, чтобы уже в понедельник все работало, а дальше можно поднять криптопро на своем сервере и бесшовно перейти с быстрого MVP на нормальный сервер.

Задача, которая решается за пару часов, заняла больше двух дней из-за того, что за полгода никто не удосужился обновить документацию, не написал простейших базовых примеров. Очень хорошо, что старые сертификаты заканчиваются не в один день. Или плохо? Ведь если бы в пятницу вечером отказала авторизация у всего гос.сектора, то хоть кто-то бы задумался, а можно ли было этого избежать и как? Так что, никогда не забывайте актуализировать документацию, хоть порой это кажется скучным, муторным и никому не нужным.

Источник новости https://t.me/digitalklondike/3...