Pipeline Order

OrderMiddlewareFilePurpose
1Request Tracingmiddleware/request_tracing.pyAssign trace_id to every request for debugging and audit
2Readiness Gatemiddleware/readiness_gate.pyReject API requests until service bootstrap completes
3Token Authenticationmiddleware/token_auth.pyExtract and validate Bearer / API-key / Application tokens
4Setup Enforcerapp/__init__.py (check_setup)Redirect to setup wizard if not configured
5Service Loginapp/__init__.py (enforce_service_login)Require session auth for website routes
6Metricsmiddleware/metrics.pyPerformance metrics collection

Token Authentication Details

Request → TokenExtractor (Authorization / x-api-key header)
       → JWTValidator (check signature + revocation list)
       → APITokenValidator (lookup model + check expiry)
       → ApplicationTokenValidator (scoped validation)
       → ExemptionRules (public prefix check)
       → Route Handler

Public Route Prefixes (No Auth Required)

  • /setup — Setup wizard pages
  • /static — Static assets (CSS, JS, images)
  • /health — External health checks
  • /auth/login — Login pages
  • /oauth2 — OAuth2 callback URLs

Route Decorators

DecoratorPurpose
@require_authRequire valid token (any type)
@require_token_scope("scope")Require specific token scope
@allow_publicSkip authentication for this route
@admin_requiredRequire admin role (website routes)
@permission_required("perm")Require specific RBAC permission