fix: protect device register with admin auth; improve admin UI (full API key, copy button, styling)

This commit is contained in:
2026-06-01 23:22:19 +08:00
parent e828ebd44e
commit 5db3da3618
3 changed files with 56 additions and 14 deletions
+9 -4
View File
@@ -82,15 +82,15 @@ API-ключ — это токен, который клиент (Верстак
2. В разделе "API Keys" ввести имя устройства и нажать "Create".
3. Скопировать сгенерированный ключ.
Через API (без авторизации):
Через API (требует логин и пароль администратора):
```bash
curl -X POST http://localhost:47732/api/v1/device/register \
-H "Content-Type: application/json" \
-d '{"name":"мой-ноутбук"}'
-d '{"name":"мой-ноутбук","username":"admin","password":"пароль-админа"}'
```
Ответ: `{"device_id":"...","api_key":"..."}`
**Важно:** endpoint регистрации открыт без аутентификации. Не выставляйте сервер в интернет без дополнительной защиты (фаервол, VPN, reverse proxy с базовой аутентификацией).
**Важно:** не выставляйте сервер в интернет без HTTPS (через reverse proxy). До создания полноценной системы пользователей регистрация устройств требует учётных данных администратора.
### Как использовать
@@ -158,7 +158,6 @@ sync:
| Метод | Путь | Описание |
|---|---|---|
| GET | `/api/v1/health` | Проверка здоровья сервера |
| POST | `/api/v1/device/register` | Регистрация устройства (без аутентификации) |
### Требуют API-ключ (Authorization: Bearer)
@@ -169,6 +168,12 @@ sync:
| POST | `/api/v1/blobs/` | Загрузить blob (multipart) |
| GET | `/api/v1/blobs/{sha256}` | Скачать blob |
### Требуют логин+пароль администратора
| Метод | Путь | Описание |
|---|---|---|
| POST | `/api/v1/device/register` | Регистрация устройства (body: name + username + password) |
### Требуют сессию админа (cookie)
| Метод | Путь | Описание |