Авторизация и доступ к API¶
Этот раздел описывает, как получить доступ к API CARGO.RUN и как передавать токен авторизации в запросах.
1. Общие принципы¶
Доступ к API CARGO.RUN защищён с помощью JWT-токена, который передаётся в HTTP-заголовке:
Заголовок передается во все методы, которым требуется авторизация. Формат значения: слово Bearer, пробел и токен доступа.
2. Базовый URL¶
Базовый URL API определяется для конкретного клиента при подключении:
Во всех примерах далее используется абстрактный <baseUrl>.
3. Получение токена доступа¶
Для получения токена используется метод:
3.1. Модель запроса¶
Для интеграции поле code может быть проигнорировано. Используется для авторизации водителей.
Полученный токен действителен в течение 30 минут и не требует повторного запроса при каждой операции. По истечении срока действия ключа (30 мин) необходимо отправить запрос на обновление токена.
3.2. Пример запроса¶
POST <baseUrl>/api/Account/GenerateToken
Content-Type: application/json
{
"userName": "user@example.com",
"password": "P@ssw0rd",
"code": "999999"
}
3.3. Ограничения метода¶
Метод /api/Account/GenerateToken не предназначен для регулярного или частого вызова. На стороне сервера действуют ограничения (cooldown), и при слишком частом запросе токена сервер может вернуть ошибку 429.
Причина введения ограничения:
- метод должен использоваться только для начальной авторизации пользователя;
- дальнейшая работа с API должна выполняться через механизм обновления токена (
RefreshToken).
4. Обновление токена¶
Для обновления токена необходимо использовать метод:
4.1. Модель запроса¶
4.2. Пример запроса¶
POST <baseUrl>/api/Account/RefreshToken
Content-Type: application/json
{
"accessToken": "<старый_access_token>",
"refreshToken": "<refresh_token>"
}
5. Передача токена в запросах¶
Пример:
6. Ошибки авторизации¶
401 Unauthorized¶
- отсутствует заголовок
- токен просрочен или недействителен
403 Forbidden¶
- недостаточно прав
7. Рекомендации по безопасности¶
- не хранить токены в логах;
- ограничить доступ к файлам конфигурации;
- использовать только HTTPS;
- при утечке токена немедленно перевыпустить.