fix: refactor verifyClient to use promise instead of async/await for token validation

This commit is contained in:
Giuseppe Raffa
2026-04-14 15:49:22 +02:00
parent 82310a521f
commit c597d4a414

View File

@@ -12,7 +12,7 @@ module.exports = function setupSensorWebSocket(server) {
server, server,
path: wsPath, path: wsPath,
perMessageDeflate: false, perMessageDeflate: false,
verifyClient: async (info, callback) => { verifyClient: (info, callback) => {
console.log('[WS|verifyClient] URL:', info.req.url); console.log('[WS|verifyClient] URL:', info.req.url);
const { query } = url.parse(info.req.url, true); const { query } = url.parse(info.req.url, true);
const token = query.token; const token = query.token;
@@ -22,17 +22,16 @@ module.exports = function setupSensorWebSocket(server) {
return callback(false, 401, 'token not passed'); return callback(false, 401, 'token not passed');
} }
try { tokenStore.consumeToken(token).then((sessionData) => {
const sessionData = await tokenStore.consumeToken(token);
if (!sessionData) { if (!sessionData) {
return callback(false, 401, 'token not valid or expired'); return callback(false, 401, 'token not valid or expired');
} }
info.req.sensorSession = sessionData; info.req.sensorSession = sessionData;
callback(true); callback(true);
} catch (error) { }).catch((error) => {
callback(false, 500, `internal server error: ${error}`); callback(false, 500, `internal server error: ${error}`);
} });
} }
}); });