Skip to content

Commit cfff8be

Browse files
committed
s
1 parent 1301831 commit cfff8be

4 files changed

Lines changed: 34 additions & 5 deletions

File tree

server/middleware/sessionAccess.js

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,40 @@
11
import pool from '../db/connections/connection.js';
22

33
export async function validateSessionAccess(sessionId, accessId) {
4-
if (!sessionId || !accessId) return false;
4+
console.log(`[validateSessionAccess] Input - SessionID: "${sessionId}", AccessID: "${accessId}"`);
5+
6+
if (!sessionId || !accessId) {
7+
console.log(`[validateSessionAccess] Validation failed - Missing parameters`);
8+
return false;
9+
}
510

611
try {
712
const result = await pool.query(
8-
'SELECT 1 FROM sessions WHERE session_id = $1 AND access_id = $2',
13+
'SELECT session_id, access_id FROM sessions WHERE session_id = $1 AND access_id = $2',
914
[sessionId, accessId]
1015
);
11-
return result.rowCount > 0;
16+
17+
console.log(`[validateSessionAccess] Query result - rowCount: ${result.rowCount}, rows:`, result.rows);
18+
19+
if (result.rowCount > 0) {
20+
console.log(`[validateSessionAccess] ✓ Validation successful`);
21+
return true;
22+
} else {
23+
// Check if session exists with any accessId
24+
const sessionCheck = await pool.query(
25+
'SELECT session_id, access_id FROM sessions WHERE session_id = $1',
26+
[sessionId]
27+
);
28+
29+
if (sessionCheck.rowCount > 0) {
30+
console.log(`[validateSessionAccess] ✗ Session exists but accessId mismatch. Expected: "${sessionCheck.rows[0].access_id}", Got: "${accessId}"`);
31+
} else {
32+
console.log(`[validateSessionAccess] ✗ Session not found in database`);
33+
}
34+
return false;
35+
}
1236
} catch (error) {
13-
console.error('Session validation error:', error);
37+
console.error('[validateSessionAccess] Database error:', error);
1438
return false;
1539
}
1640
}

server/websockets/flightsWebsocket.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function setupFlightsWebsocket(httpServer) {
2222
const sessionId = socket.handshake.query.sessionId;
2323
const accessId = socket.handshake.query.accessId;
2424

25-
console.log(`[Flights Socket] Connection attempt - SessionID: ${sessionId || 'missing'}, AccessID: ${accessId ? 'provided' : 'missing'}, Socket ID: ${socket.id}`);
25+
console.log(`[Flights Socket] Connection attempt - SessionID: "${sessionId || 'missing'}", AccessID: "${accessId || 'missing'}", Socket ID: ${socket.id}`);
2626

2727
if (!sessionId) {
2828
console.warn(`[Flights Socket] Rejected connection ${socket.id} - Missing sessionId`);

src/pages/Flights.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ export default function Flights() {
4848
const accessId = searchParams.get('accessId') ?? undefined;
4949
const isMobile = useMediaQuery({ maxWidth: 1000 });
5050

51+
// Debug logging
52+
console.log(`[Flights] URL Params - SessionID: "${sessionId}", AccessID: "${accessId}"`);
53+
5154
const [accessError, setAccessError] = useState<string | null>(null);
5255
const [validatingAccess, setValidatingAccess] = useState(true);
5356
const [session, setSession] = useState<SessionData | null>(null);

src/sockets/flightsSocket.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ export function createFlightsSocket(
1111
onFlightDeleted: (data: { flightId: string | number }) => void,
1212
onFlightError?: (error: { action: string; flightId?: string | number; error: string }) => void
1313
) {
14+
console.log(`[createFlightsSocket] Creating socket with SessionID: "${sessionId}", AccessID: "${accessId}"`);
15+
1416
const socket = io(SOCKET_URL, {
1517
withCredentials: true,
1618
path: '/sockets/flights',

0 commit comments

Comments
 (0)