Управление токенами
Токены -- это учетные данные аутентификации, которые CLI-клиенты используют для подключения к серверу. Каждый токен привязан к пользователю и, опционально, к устройству.
Команды CLI
bash
# Сгенерировать токен для пользователя с ID 1
unns token gen 1
# Сгенерировать с именем устройства
unns token gen 1 macbook-pro
# Показать все токены
unns token list
# Показать токены конкретного пользователя
unns token list 1
# Отозвать токен
unns token revoke 3Свойства токена
| Поле | Описание |
|---|---|
hash | SHA-256 хеш (хранится, никогда в открытом виде) |
user_id | Пользователь-владелец |
device_name | Необязательный идентификатор устройства |
enabled | Активен или отозван |
created_at | Временная метка создания |
last_used | Последняя успешная аутентификация |
Как работают токены
- Администратор генерирует токен -> необработанный токен показывается один раз
- Токен передается пользователю
- Пользователь запускает
unne setupи вводит токен - CLI отправляет токен во время рукопожатия
- Сервер хеширует его и ищет хеш в базе данных
- Токен наследует все лимиты от родительского пользователя
Токен = Устройство
Когда для пользователя установлен max_devices, каждый токен считается одним устройством. Если у пользователя max_devices=2, он может иметь не более 2 активных токенов, подключенных одновременно.
Безопасность
- Токены хранятся только в виде SHA-256 хешей
- Необработанный токен отображается один раз при генерации и никогда не сохраняется
- Отзыв токена немедленно отключает клиента
- Токенами можно управлять через CLI или Панель администратора