Документация
Заголовки и авторизация 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.
