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