Издание токена - аутентификация
POST/api/v1/auth/token
В теле запроса необходимо передать учётные данные, которые были использованы при регистрации.
{ "username": "test@example.com", "password": "***********"}В успешном ответе будет содержаться несколько служебных полей, таких как информация о пользователе, срок действия токена и т.д.
200 OK
{ "_id": "66a66b2207dfcec6494cd618", "issuedAt": 1722182434022, "expiresAt": 1729958434022, "user": { "name": "test@example.com" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...."}Наиболее полезным будет поле token, в котором и будет находиться значение токена доступа, которое нужно будет передавать в последующих запросах к API через заголовок Authorization
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...При издании токена можно задать дополнительные параметры expiresIn и scopes:
{ "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 - срок действия
expiresIn - срок действияЕсли не указывать данный параметр, срок действия токена будет огрничен значением по умолчанию - 1 день.
Значения параметра можно передавать в следующем виде:
30 minutes12 hours8 days5 years
scopes - разрешенные дейтсвия
scopes - разрешенные дейтсвияПозволяет задать список методов, к которым будет иметь доступ токен.
Название метода формируется как "<МЕТОД> <API-путь>", при этом префикс /api/v1 указывать не обязательно. Например:
GET /objects- получение списка объектовPOST /objects- создание объектаPATCH /objects/:id- изменение объекта
Полный список доступных методов можно получить через API:
Если не ограничить список возможных методов для токена - ему будет доступен весь набор полномочий пользователя