Авторизация в RuStore получаем JWE токен используя терминал и OpenSSL
В этой статье будет рассмотрен метод авторизации с использованием RSA подписи и запроса к REST API сервиса https://public-api.rustore.ru.
1. Подготовка
Перед тем как начать, убедитесь, что у вас установлены необходимые инструменты командной строки: curl, openssl, jq, а также что ваша система может выполнять bash скрипты.
Скрипт начинается со следующих шагов:
1. Генерация метки времени в формате ISO 8601 с точностью до миллисекунд и временной зоны:
2. Преобразовываем PKEY_P8_64 (строка MIIEvgI...) в pkey.p8 (бинарный):
3. Преобразование полученного приватного ключа из формата PKCS#8 в обычный PEM формат:
2. Подписание и отправка запроса
Используя приватный ключ, скрипт генерирует RSA подпись для строки, составленной из ID компании и метки времени:
После криптографического подписания, скрипт формирует JSON объект с ID компании, меткой времени и подписью:
Этот JSON объект затем отправляется в REST API через curl запрос для авторизации:
Ожидается, что в ответе сервиса будет JSON объект содержащий, среди прочего, JWE (JSON Web Encryption) токен, который извлекается следующим образом:
Полный код:
После получения токена JWE (JSON Web Encryption) открылась возможность продолжать изучение документации и применять данный токен JWE в запросах. В документации приведены примеры использования токена JWE для запросов, такие как загрузка и публикация приложений через API RuStore.
Ссылки:
Метод получения токена авторизации: