68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# All rights reserved.
|
|
"""
|
|
Authentication and authorization modules for routes and services.
|
|
High-level security functionality that depends on FastAPI and interfaces.
|
|
|
|
Multi-Tenant Design:
|
|
- RequestContext: Per-request context with user, mandate, feature instance, roles
|
|
- getRequestContext: FastAPI dependency to extract context from X-Mandate-Id header
|
|
- requireSysAdmin: FastAPI dependency for INFRASTRUCTURE-level operations
|
|
(logs, tokens, DB-health, i18n-master). Includes RBAC bypass.
|
|
- requirePlatformAdmin: FastAPI dependency for CROSS-MANDATE GOVERNANCE
|
|
(user-/mandate-/RBAC-/feature-registry mgmt). No bypass.
|
|
"""
|
|
|
|
from .authentication import (
|
|
getCurrentUser,
|
|
limiter,
|
|
SECRET_KEY,
|
|
ALGORITHM,
|
|
cookieAuth,
|
|
RequestContext,
|
|
getRequestContext,
|
|
requireSysAdmin,
|
|
requirePlatformAdmin,
|
|
)
|
|
from .jwtService import (
|
|
createAccessToken,
|
|
createRefreshToken,
|
|
setAccessTokenCookie,
|
|
setRefreshTokenCookie,
|
|
clearAccessTokenCookie,
|
|
clearRefreshTokenCookie
|
|
)
|
|
from .tokenManager import TokenManager
|
|
from .tokenRefreshService import token_refresh_service, TokenRefreshService
|
|
from .tokenRefreshMiddleware import TokenRefreshMiddleware, ProactiveTokenRefreshMiddleware
|
|
from .csrf import CSRFMiddleware
|
|
|
|
__all__ = [
|
|
# Authentication
|
|
"getCurrentUser",
|
|
"limiter",
|
|
"SECRET_KEY",
|
|
"ALGORITHM",
|
|
"cookieAuth",
|
|
# Multi-Tenant Context
|
|
"RequestContext",
|
|
"getRequestContext",
|
|
"requireSysAdmin",
|
|
"requirePlatformAdmin",
|
|
# JWT Service
|
|
"createAccessToken",
|
|
"createRefreshToken",
|
|
"setAccessTokenCookie",
|
|
"setRefreshTokenCookie",
|
|
"clearAccessTokenCookie",
|
|
"clearRefreshTokenCookie",
|
|
# Token Management
|
|
"TokenManager",
|
|
"token_refresh_service",
|
|
"TokenRefreshService",
|
|
"TokenRefreshMiddleware",
|
|
"ProactiveTokenRefreshMiddleware",
|
|
# CSRF
|
|
"CSRFMiddleware",
|
|
]
|
|
|