Метод получения токена авторизации
Метод позволяет сгенерировать JWE-токен с помощью приватного ключа, полученного в системе RuStore Консоль. Также метод проводит проверку активности владельца приложения.
Для успешного выполнения запроса сгенерируйте приватный ключ.
Параметры взаимодействия
POST /public/auth/
Атрибут |
Тип |
Обяз. |
Расположение |
Описание |
Пример заполнения |
---|---|---|---|---|---|
companyId |
string |
Да |
body |
id компании |
123 |
timestamp |
string |
Да |
body |
Время отправки запроса. Не должно отличаться от текущего серверного времени более, чем на 60 секунд. |
2022-07-08T13:24:41.8328711+03:00 |
signature |
string |
Да |
body |
RSA-подпись SHA-512 hash от строки, содержащей companyId и timestamp запроса. Алгоритм создания и проверки подписи: SHA512withRSA
Пример: companyId: 123 timestamp: 2022-07-08T13:24:41.8328711+03:00 строка для вычисления hash: 1232022-07-08T13:24:41.8328711+03:00 SHA-512 hash: 0976c61cce96fccd9daaae5f594db43dd287c0e266561669184276a2e86578c0e2a39cd0b183a458d0e47b17c68548daac83db97bc710dcd07d01bae40033235 |
В случае проблем с пониманием алгоритма генерации параметра signature, используйте файл .jar для генерации данного параметра. Передайте id компании и полученный приватный ключ. В ответ вы получите тело для запроса POST /public/auth/ с параметрами companyId, timestamp и signature.
Сформированный параметр параметра signature действует 1 минуту, так как напрямую зависит от timestamp.
Параметры ответа
Атрибут |
Тип |
Обязателен |
Описание |
Пример заполнения |
---|---|---|---|---|
code |
string |
Да |
Код ответа |
error/OK |
message |
string |
Нет |
Расшифровка кода ответа, в случае ошибки |
Range timestamp not valid |
body{} |
object |
Да |
||
timestamp |
timestamptz |
Да |
Время ответа |
2022-07-08T13:24:41.8328711+03:00 |
body{}
Атрибут |
Тип |
Обязателен |
Описание |
Пример |
jwe |
string |
Да |
Токен доступа к API RuStore (содержимое payload ниже). Многоразового использования. |
eyJjdHkiOiJK…sv16aBl8tTg.VkWuTw |
ttl |
int |
Да |
Срок жизни токена в секундах. Срок жизни составляет 900 секунд. |
900 |
Возможные ошибки
code |
message |
Описание |
Возможные действия |
400 |
Range timestamp not valid |
Параметр timestamp отличается более чем на 60 секунд |
Обновите timestamp и signature |
404 |
Company key not found |
Не найден приватный ключ по переданному companyId |
Проверьте создан ли приватный ключ у данной companyId и его актуальность |
400 |
Company key disabled |
Приватный ключ по переданному companyId удален |
Проверьте создан ли приватный ключ у данной companyId и его актуальность |
400 |
Signature encode error |
Параметр signature сгенерирован некорректно |
Необходимо заново сгенировать параметр signature |
404 |
You cannot use this action because the company is not found |
Комания с переданным companyId отсутвует или не активна |
Проверьте параметр companyId на его актуальность |
400 |
You can't use this action because the company is banned |
Комания с переданным companyId заблокирована |
Проверьте параметр companyId на его актуальность |
Пример запроса
curl --location 'https://public-api.rustore.ru/public/auth' \
--header 'Content-Type: application/json' \ --data '{ "companyId":"1275328", "timestamp":"2023-08-11T13:31:17.580+03:00", "signature":"U4kh.......nFkbuw==" } |
Пример успешного ответа
{ "code": "OK", "message": null, "body": { "jwe": "eyJlbmMiOiJBM......nuuM227D_O1A", "ttl": 900 }, "timestamp": "2023-08-11T13:31:33.171847393+03:00" } |