Skip to content

Справочник API авторизации и жизненный цикл токенов ​

RUSEON Core защищает API управления и стриминга с помощью стандартных JSON Web Tokens (JWT, RFC 7519) с подписью HMAC-SHA256.


1. Эндпоинты авторизации ​

1.1 Вход пользователя (POST /api/login) ​

Проверяет логин и пароль в BadgerDB и возвращает токен доступа сроком на 1 час:

bash
curl -X POST http://localhost:8080/api/login \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "your_secure_password"
  }'

Ответ (200 OK):

json
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Первоначальный пароль администратора: ​

При первом запуске сервера без базы данных RUSEON Core генерирует случайный 16-значный пароль и выводит его в консоль:

text
==================================================
INITIAL ADMIN CREDENTIALS:
Username: admin
Password: <16_RANDOM_CHARS>
Please change this password after first login!
==================================================

2. Использование токена в заголовках ​

http
GET /api/cameras HTTP/1.1
Host: localhost:8080
Authorization: Bearer <JWT_TOKEN>

3. Короткоживущие токены стримов (GET /api/cameras/:id/stream-token) ​

Для плееров HTML5 <video>, WebSocket WebCodecs или Smart TV:

  1. Запросите 60-секундный токен:
    bash
    curl -H "Authorization: Bearer <JWT_TOKEN>" http://localhost:8080/api/cameras/cam-01/stream-token
  2. Передайте токен в URL:
    text
    http://localhost:8080/stream/hls/cam-01/index.m3u8?token=eyJhbGci...
    ws://localhost:8080/stream/ws/cam-01?token=eyJhbGci...

Связанная документация ​

Released under the MIT License.