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}