RustMinerSystem

Документация

Заголовки и авторизация API

Вызов API RustMinerSystem без входа, custom authentication header, границы прав и внутренние session endpoints панели.

Заголовки и авторизация API

Внешние вызовы API RustMinerSystem не требуют входа в административную панель и получения backend login TOKEN. Стороннее приложение авторизует каждый запрос через специальный пользовательский заголовок.

Основные правила

  • Не вызывайте /api/_/key.
  • Не вызывайте /api/_/login.
  • Не храните имя пользователя и пароль панели.
  • Не используйте Authorization: Bearer <login token> панели как credential публичного API.
  • Передавайте настроенный custom authentication header непосредственно в каждом API-запросе.

Пример запроса

После реализации custom-header запрос будет выглядеть так:

GET /{safe-route}/api/ports
<имя custom header>: <API credential>
Content-Type: application/json

Окончательное имя заголовка, формат credential и процесс создания еще не реализованы в текущем backend. Поэтому в документации используются placeholders без выдуманного имени поля.

Что нужно дополнить после реализации

  • Официальное имя request header.
  • Создание, просмотр и копирование credential.
  • Read-only и administrative scopes.
  • Список endpoints для каждого scope.
  • Срок действия и rotation.
  • Отзыв и повторная генерация.
  • Source IP, CORS и rate limit.
  • Коды ошибок для отсутствующего, неверного, просроченного или недостаточного credential.

До утверждения этих правил нельзя встраивать backend login TOKEN в стороннее приложение в качестве замены.

Внутренние session endpoints панели

Встроенная панель по-прежнему использует следующие endpoints, но они не являются предварительным шагом для внешнего API:

Метод Путь Внутреннее назначение
GET /api/_/key Получить ключ шифрования входа в панель.
POST /api/_/login Войти в административную панель.
POST /api/_/verify Проверить TOTP входа.
POST /api/_/logout Завершить UI session.
POST /api/_/changepassword Изменить учетные данные панели.
POST /api/_/setting/code Включить TOTP панели.
DELETE /api/_/setting/code Отключить TOTP панели.
GET /api/2step/route Получить список UI endpoints под защитой TOTP.
POST /api/2step/route Сохранить список защищенных UI endpoints.
POST /api/token/exp Настроить время UI session.

Внешнему API client не нужно вызывать эти endpoints или реализовывать AES-шифрование входа.

Специальный read-only credential

Observer продолжает использовать отдельный заголовок:

X-OB-TOKEN: <Observer token>

Он действует только для read-only endpoints Observer и не является будущим общим API credential.

Безопасность

  • Передавайте API credentials только через HTTPS.
  • Не помещайте credential в URL, query string, логи и screenshots.
  • Выдавайте отдельный credential каждому caller.
  • Загружайте secrets из environment variables или secret manager.
  • При утечке немедленно отзывайте и создавайте новый credential.
  • Для изменения ports, wallets, сертификатов и firewall используйте более строгие scopes.