Перейти к содержанию

SaaS

Компоненты для построения SaaS приложений.

Модули

Модуль Описание
Auth (JWT) JWT аутентификация с гостевым доступом
Rate Limit IP + User двухуровневый rate limiting

Быстрый пример

from fastapi import FastAPI
from kit.saas.auth import JWTManager, AuthMiddleware
from kit.saas.rate_limit import RateLimiter, RateLimitMiddleware

app = FastAPI()

# JWT Auth
jwt = JWTManager(secret_key="your-secret")
app.add_middleware(AuthMiddleware, jwt_manager=jwt)

# Rate Limiting
limiter = RateLimiter(max_requests=100, window_seconds=60)
app.add_middleware(RateLimitMiddleware, limiter=limiter)

@app.get("/api/data")
async def get_data(request: Request):
    user = request.state.user  # Из JWT
    return {"user_id": user.id}