Защита API

Защита API — критическая задача, поскольку API — основной интерфейс между клиентом и backend, а также между микросервисами.

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

OAuth 2.0 + PKCE для public clients. JWT с коротким TTL + refresh tokens. mTLS для service-to-service. API keys только для serverless функций и rate limiting. Никогда: basic auth в production, hardcoded credentials.

Авторизация

Проверка прав на каждом endpoint: fine-grained permissions. RBAC (роли) или ABAC (атрибуты). Object-level auth: user может видеть/менять только свои данные. Не полагаться на скрытие URL. Централизованная auth-политика через service mesh или API gateway.

Rate limiting

Global: N запросов/сек с одного IP. Per-user: защита от abuse отдельных клиентов. Per-endpoint: /login — 5/мин, /withdraw — 3/час. Cost-based: сложные запросы стоят больше. Distributed rate limiting через Redis. Response 429 с Retry-After header.

Input validation

Schema validation: JSON Schema, OpenAPI. Type coercion строго запрещено. Whitelist символов. Length limits. Депint size limits для JSON. Reject unknown fields (strict schema). Отдельная валидация business rules: сумма ≤ баланса, минимальный bet.