From 3de9c319221fab0cff8f8355cc3d382741bdcc51 Mon Sep 17 00:00:00 2001 From: Haileyesus <118998054+blackmammoth@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:49:17 +0300 Subject: [PATCH] fix: redact websocket auth token in logs --- .../modules/websocket/services/websocket-auth.service.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/modules/websocket/services/websocket-auth.service.ts b/server/modules/websocket/services/websocket-auth.service.ts index bd689d5d..bd76c65f 100644 --- a/server/modules/websocket/services/websocket-auth.service.ts +++ b/server/modules/websocket/services/websocket-auth.service.ts @@ -20,7 +20,13 @@ export function verifyWebSocketClient( dependencies: WebSocketAuthDependencies ): boolean { const request = info.req as AuthenticatedWebSocketRequest; - console.log('WebSocket connection attempt to:', request.url); + const upgradeUrl = new URL(request.url ?? '/', 'http://localhost'); + const loggedUrl = new URL(upgradeUrl); + if (loggedUrl.searchParams.has('token')) { + loggedUrl.searchParams.set('token', 'REDACTED'); + } + + console.log('WebSocket connection attempt to:', `${loggedUrl.pathname}${loggedUrl.search}`); // Platform mode: use the first DB user and skip token checks. if (dependencies.isPlatform) { @@ -36,7 +42,6 @@ export function verifyWebSocketClient( } // OSS mode: read JWT from query string first, then Authorization header. - const upgradeUrl = new URL(request.url ?? '/', 'http://localhost'); const token = upgradeUrl.searchParams.get('token') ?? request.headers.authorization?.split(' ')[1] ??