"""Authentication module - Reusable authentication system with AD API integration This module provides: - Dual-token session management (internal + AD tokens) - Automatic AD token refresh with retry limit (max 3 attempts) - 3-day inactivity timeout - Encrypted password storage for auto-refresh - FastAPI dependency injection for protected routes Usage in other modules: from app.modules.auth import get_current_user @router.get("/protected-endpoint") async def my_endpoint(current_user: dict = Depends(get_current_user)): # current_user contains: {"username": "...", "display_name": "..."} return {"user": current_user["display_name"]} """ from app.modules.auth.router import router from app.modules.auth.dependencies import get_current_user __all__ = ["router", "get_current_user"]