fix: revert to original _inject_user in main.py, ensure it runs before require_page
This commit is contained in:
@@ -9,7 +9,7 @@ from slowapi.errors import RateLimitExceeded
|
||||
from routers import docker_router, gitea, files, terminal, system, auth, chat_summary, security, passkey, totp, litellm, cc_connect, info_engine, opc_tasks, opc_agents, opc_ws, opc_projects
|
||||
import auth as auth_module
|
||||
import config
|
||||
from rbac import require_page, _inject_user
|
||||
from rbac import require_page
|
||||
|
||||
import asyncio
|
||||
import httpx
|
||||
@@ -164,6 +164,11 @@ def _router_reachable():
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
# Dependency to store user in request.state for rbac dependencies
|
||||
async def _inject_user(request: Request, user = Depends(auth_module.get_current_user)):
|
||||
request.state.user = user
|
||||
return user
|
||||
|
||||
# Public auth endpoints
|
||||
app.include_router(auth.router, prefix="/api/auth", tags=["auth"])
|
||||
app.include_router(passkey.router, prefix="/api/auth", tags=["passkey"])
|
||||
@@ -191,11 +196,11 @@ app.include_router(security.router, prefix="/api/security",
|
||||
|
||||
# OPC endpoints
|
||||
app.include_router(opc_tasks.router, prefix="/api/opc",
|
||||
dependencies=[Depends(require_page("opc"))])
|
||||
dependencies=[Depends(_inject_user), Depends(require_page("opc"))])
|
||||
app.include_router(opc_agents.router, prefix="/api/opc",
|
||||
dependencies=[Depends(require_page("opc"))])
|
||||
dependencies=[Depends(_inject_user), Depends(require_page("opc"))])
|
||||
app.include_router(opc_projects.router, prefix="/api/opc",
|
||||
dependencies=[Depends(require_page("opc"))])
|
||||
dependencies=[Depends(_inject_user), Depends(require_page("opc"))])
|
||||
|
||||
# WebSocket endpoint (auth handled inside handler via auth cookie; query token fallback temporary)
|
||||
app.add_api_websocket_route("/ws/terminal", terminal.ws_endpoint)
|
||||
|
||||
Reference in New Issue
Block a user