Kaiten

[PMO] База знаний функциональности (интернет)

To Kaiten

Издание токена - аутентификация

POST/api/v1/auth/token

В теле запроса необходимо передать учётные данные, которые были использованы при регистрации.

JSON
{ "username": "test@example.com", "password": "***********"}

В успешном ответе будет содержаться несколько служебных полей, таких как информация о пользователе, срок действия токена и т.д.

200 OK

JSON
{ "_id": "66a66b2207dfcec6494cd618", "issuedAt": 1722182434022, "expiresAt": 1729958434022, "user": { "name": "test@example.com" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...."}

Наиболее полезным будет поле token, в котором и будет находиться значение токена доступа, которое нужно будет передавать в последующих запросах к API через заголовок Authorization

http
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

При издании токена можно задать дополнительные параметры expiresIn и scopes:

JSON
{ "username": "test@example.com", "password": "***********", "expiresIn": "90 days", "scopes": [ "GET /objects", "GET /objects/:id", "POST /objects/:id/commands/:command", "GET /geofences", "POST /geofences", "DELETE /geofences/:id" ]}

expiresIn - срок действия

Если не указывать данный параметр, срок действия токена будет огрничен значением по умолчанию - 1 день.
Значения параметра можно передавать в следующем виде:

  • 30 minutes

  • 12 hours

  • 8 days

  • 5 years

scopes - разрешенные дейтсвия

Позволяет задать список методов, к которым будет иметь доступ токен.
Название метода формируется как "<МЕТОД> <API-путь>", при этом префикс /api/v1 указывать не обязательно. Например:

  • GET /objects - получение списка объектов

  • POST /objects - создание объекта

  • PATCH /objects/:id - изменение объекта

Полный список доступных методов можно получить через API:

Если не ограничить список возможных методов для токена - ему будет доступен весь набор полномочий пользователя