OpenMPFlow
Архитектура

Аутентификация

Методы аутентификации в OpenMPFlow — API-ключи, HMAC-токены, OAuth/OIDC через Logto

Методы аутентификации

OpenMPFlow поддерживает три метода аутентификации (проверяются по порядку):

1. API-ключи (mpk_)

Рекомендуется для программного доступа и MCP-клиентов.

curl -H "Authorization: Bearer mpk_your_key_here" \
  https://proxy.mp-flow.ru/v1/admin/master-cards
  • Генерируются в Admin UI → раздел MCP
  • Хранятся как SHA256 хэш в таблице admin_api_keys
  • Поддерживают скоупы, rate limits и срок действия
  • Префикс mpk_ для идентификации

2. Логин/пароль (HMAC-токены)

Используется веб-интерфейсом Admin UI.

# Вход
curl -X POST https://proxy.mp-flow.ru/v1/admin/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin"}'

# Ответ: {"access_token": "eyJ...", "token_type": "bearer", "expires_in": 86400}
  • Начальные креды задаются через ADMIN_BOOTSTRAP_USERNAME / ADMIN_BOOTSTRAP_PASSWORD
  • Время жизни токена: 24 часа (настраивается через ADMIN_TOKEN_TTL_HOURS)
  • HMAC-подпись, не JWT

3. Logto JWT (OAuth/OIDC)

Используется MCP OAuth потоком (ChatGPT, внешние клиенты).

  • Self-hosted Logto на auth.mp-flow.ru
  • ES384 JWT-токены, валидируются через JWKS
  • Audience: https://proxy.mp-flow.ru/api

Определение типа токена

Прокси автоматически определяет метод:

if token.startswith("mpk_"):     # → API-ключ
elif len(token.split(".")) == 3: # → JWT (Logto)
else:                            # → Legacy HMAC-токен

CORS

  • Корневое приложение: * (требуется для MCP Streamable HTTP)
  • Admin API: дополнительные origins через ADMIN_CORS_ORIGINS

On this page