API-ключи
API-ключ — это способ авторизации SDK при подключении к серверу можно.. Ключ привязан к конкретному окружению и проекту, определяет, к каким флагам имеет доступ клиент и какие операции разрешены.
Типы ключей
можно. поддерживает два типа API-ключей:
| Тип | Права | Особенности | Для чего |
|---|---|---|---|
| SERVER | Чтение правил + запись метрик | Получает полную конфигурацию флагов, сам оценивает их локально | Серверные SDK (Java, Node.js backend) |
| FRONTEND | Оценка флагов + отправка метрик | Отправляет контекст на сервер, получает готовый результат | Браузерные и мобильные SDK |
Когда использовать SERVER
- Бэкенд-сервисы (Spring Boot, Express, Ktor)
- CI/CD пайплайны
- Сервисы, где API-ключ не раскрывается клиенту
Когда использовать FRONTEND
- Браузерные SPA
- Мобильные приложения
- Клиенты, где ключ может быть извлечён из кода
Формат ключа
API-ключ — это 64-символьная Base64url-строка без префикса:
dGhpcyBpcyBhIDY0LWNoYXJhY3RlciBiYXNlNjR1cmwgZW5jb2RlZCBrZXkКлюч можно посмотреть в разделе API-ключей веб-панели в любой момент.
Создание ключа
В веб-панели
- Перейдите в раздел API-ключи
- Нажмите «Создать ключ»
- Укажите имя (например,
backend-prod,mobile-staging) - Выберите тип:
SERVERилиFRONTEND - Выберите окружение
- Скопируйте ключ и сохраните в безопасное место
Передача ключа в SDK
java
MozhnoConfig config = MozhnoConfig.builder()
.mozhnoUrl("http://localhost:8080")
.apiKey("your-api-key-here")
.appName("my-app")
.instanceId("instance-1")
.environment("production")
.build();
var client = new DefaultMozhnoClient(config);Отзыв ключа
Удаление ключа через веб-панель или API (DELETE /api/v1/api-keys/{id}) немедленно прекращает доступ для всех клиентов, использующих этот ключ. Сервер вернёт 401 на все последующие запросы.
Безопасность
- Не коммитьте ключи в репозиторий — используйте secrets manager или переменные окружения.
- Разные ключи для разных окружений: ключ от dev не должен давать доступ к production.
- Минимальные права: для SDK-клиентов — SERVER или FRONTEND, а не административный JWT.
- Ротируйте ключи не реже раза в год.
Подробнее — Безопасность.
Что дальше?
- Окружения — как ключи связаны с окружениями
- REST API — полный список endpoints для управления ключами
- Безопасность — JWT, rate limiting, CORS