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

Метод позволяет сгенерировать 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"

}

 

Обновлено 5 сентября 2023 г.
Was this information helpful?