Skip to content

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-ключей веб-панели в любой момент.

Создание ключа

В веб-панели

  1. Перейдите в раздел API-ключи
  2. Нажмите «Создать ключ»
  3. Укажите имя (например, backend-prod, mobile-staging)
  4. Выберите тип: SERVER или FRONTEND
  5. Выберите окружение
  6. Скопируйте ключ и сохраните в безопасное место

Передача ключа в 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.
  • Ротируйте ключи не реже раза в год.

Подробнее — Безопасность.

Что дальше?

Released under the AGPL v3.0 License.