Авторизация API-запроса¶
Токен для доступа¶
Для того чтобы любой вызов API Watcher был выполнен, в заголовке (HTTP Header) необходимо указать JWT-токен. Чтобы получить этот токен, используйте соответствующий запрос:
- Для Watcher Client API: POST /watcher/client-api/v3/login
- Для Watcher Admin API: POST /watcher/admin-api/v3/login
Пример получения токена:
curl -X POST -u user:password "http://localhost:80/watcher/client-api/v3/login"
В ответе на этот запрос вернется два параметра:
access_token— это JWT-токен для выполнения API-запросов. Время действия токена ограничено и закодировано в самом токене.refresh_token— это токен с длительным временем действия, с помощью которого можно запрашивать новыйaccess_token. Когда вы реализуете свое приложение, сохраняйтеrefresh_token, например, в базу данных, чтобы использовать его при необходимости.
Пример использования access_token:
curl -X GET "http://localhost:80/watcher/client-api/v3/streams" \
-H "Authorization: Bearer <access_token>" \
Запрос токена без логина и пароля¶
Когда сервер вернет HTTP 401 в ответ на попытку выполнить запрос с access_token, запросите новый токен с помощью refresh_token из ответа на запрос /login:
curl -X POST "http://localhost:80/watcher/client-api/v3/login" \
-H "Authorization: Bearer <refresh_token>" \
Таким образом пользователю не придется снова вводить логин и пароль.