Метод позволяет сгенерировать токен по запросу, подписанному приватным ключом. Как сгенерировать ключевую пару и сохранить публичный ключ? Метод проводит проверку активности владельца приложения.
Только для запросов, подписанных приватным ключом, публичная часть которого загружена соответствующим владельцем в систему 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 |
Параметры ответа
Успешный
Код ответа: 200
Атрибут |
Тип |
Обяз. |
Описание |
Пример заполнения |
---|---|---|---|---|
code |
string |
Да |
Код ответа |
OK |
message |
string |
Да |
Расшифровка кода ответа |
Result at ownerTokenController.getToken |
body{} |
object |
Да |
Тело ответа |
|
timestamp |
timestamptz |
Да |
Время ответа |
2022-07-08T13:24:41.8328711+03:00 |
body{}
Атрибут |
Тип |
Обяз. |
Описание |
Пример заполнения |
---|---|---|---|---|
jwe |
string |
Да |
Токен доступа к API RuStore (содержимое payload ниже). Многоразового использования. |
eyJjdHkiOiJK…sv16aBl8tTg.VkWuTw |
ttl |
int |
Да |
Срок жизни токена в секундах.
По умолчанию задать срок жизни 300 секунд. |
300 |
Содержимое payload токена:
{ "iss" : "RuStore" , "exp" : 2002956976 , "iat" : 1655801776 , "jti" : "cce5bc57-7b0e-4bdb-bf00-a744b979d953" , "companyId" : "321" , } |
Атрибут |
Тип |
Обяз. |
Описание |
---|---|---|---|
iss |
строка |
Да |
издатель токена |
exp |
число |
Да |
дата время экспирации токена |
iat |
число |
Да |
дата время выпуска токена |
jti |
uuid |
Да |
уникальный идентификатор токена |
companyId |
строка |
Да |
идентификатор компании-владельца приложения |
Ошибочный ответ
Атрибут |
Тип |
Обяз. |
Описание |
Пример заполнения |
---|---|---|---|---|
code |
string |
Да |
Код ответа |
OK |
message |
string |
Да |
Расшифровка кода ответа |
Result at ownerTokenController.getToken |
error_code |
string |
Да |
Код определенного типа ошибки |
timestamp_error |
timestamp |
timestamptz |
Да |
Время ответа |
2022-07-08T13:24:41.8328711+03:00 |
Валидация запроса
Перед генерацией токена необходимо провести проверки:
Описание проверки |
error_code |
---|---|
timestamp запроса отличается от времени сервера более чем на 1 минуту |
timestamp_error |
Не удалось расшифровать подпись |
signature_encode_error |
Подпись не соответствует body запроса |
signature_body_mismatch |
Подпись неактивна или отсутствует в RuStore |
signature_invalid |
Компания заблокирована в RuStore |
company_blocked |