Метод получения токена авторизации

Метод позволяет сгенерировать токен по запросу, подписанному приватным ключом. Как сгенерировать ключевую пару и сохранить публичный ключ? Метод проводит проверку активности владельца приложения.

Только для запросов, подписанных приватным ключом, публичная часть которого загружена соответствующим владельцем в систему 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

Was this information helpful?