fix: WebSocket 403 — require_active_plugin skips WebSocket requests
Simpler approach: require_active_plugin._check() now accepts Request parameter and returns early for WebSocket upgrade requests. No route splitting needed — all routes stay in their original router.
This commit is contained in:
+5
-1
@@ -237,7 +237,11 @@ def require_active_plugin(plugin_name: str):
|
||||
already have their own auth dependencies (require_permission, etc.).
|
||||
This check only verifies plugin activation status.
|
||||
"""
|
||||
async def _check() -> None:
|
||||
async def _check(request: Request) -> None:
|
||||
# Skip plugin check for WebSocket connections — WS auth is handled
|
||||
# inside the endpoint itself via session cookie verification.
|
||||
if request.headers.get("upgrade", "").lower() == "websocket":
|
||||
return
|
||||
from app.core.permission_registry import get_permission_registry
|
||||
try:
|
||||
registry = get_permission_registry()
|
||||
|
||||
Reference in New Issue
Block a user