Комментарии 14
классная статья, спасибо!
и взаимодействует с алгоритмами формирования электронной подписи ГОСТ Р 34.10-2012 и криптографического хэширования ГОСТ Р 34.11-2012;
а можно поподробнее - какое приложение-провайдер этой реализации использовалось
например, .net у микрософта нет поддержки российских стандартов от слова совсем - соответственно, есть вариант использования криптопро - они пропатчили corefx для вызова своей аппликухи и выложили на github - но явно встраивать патченый net в бизнес-приложение не резон, но можно вынести в микросервис, заодно там же поднять и аппликуху от криптопро
в данном случае использовался провайдер vipnet, библиотека ViPNet JCrypto SDK, так же можно легко мигрировать на CryptoPro JCP.
А почему не BouncyCastle? Там тоже поддержка ГОСТа давно есть.
И вдогонку, все это хорошо работает, когда сертификаты и ключи в файликах. А если они на токене, и ключ неизвлекаем?
Как вам вообще работа с ЕСИА? Нравится? Всё удобно и хорошо, или какие-то части выглядят сложными или неочевидными?
в целом работать с ЕСИА удобно, очень хорошая документация, открытое понятное API, бывали перебои(1-2 раза в год), но в течение 1-2 часа все исправлют.
Представим, что у меня есть какой-то условный "Тиндер для собак", и я хочу прикрутить к нему логинку через ЕСИА. Что мне нужно сделать, чтобы получить такую возможность?
Иначе говоря, для сервиса, который авторизуется через ЕСИА, обязательно ли быть официальной "государственной услугой"? Где-то регистрироваться как провайдер сервиса?
Эх, такую бы статью под nodejs
Ценное в этой статье только пример использования VipNet JCrypto. Официальный документ, на который приведена ссылка не содержит ни одной цитаты отмеченной курсивом, т.к. ссылка на "Руководство", а протокол описан в "Методических рекомендациях" (https://digital.gov.ru/ru/documents/6186/).
Примеры приведены для устаревшей версии протокола и они не совсем корректные. Так, поле refresh_token надо передавать только в запросе на обновление маркера доступа с истёкшим сроком действия, т.е. в updateEsiaSession. Нет обязательной проверки равенства значения state в ответе значению в запросе. Нет проверок валидности jwt-токена.
Создание сервиса авторизации через систему ЕСИА