Skip to content

Commit bb21145

Browse files
committed
chore: Improve logging
1 parent 114f2c2 commit bb21145

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/api/middleware/userSessionMiddleware.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { NextFunction, Request, Response } from 'express';
22

3+
import Logger from '../logger';
34
import { getUserData } from '../services/authentication/authentication';
45

56
/**
@@ -12,6 +13,7 @@ import { getUserData } from '../services/authentication/authentication';
1213
* @returns 403 if session not found, else proceed
1314
*/
1415
const checkUserSession = (req: Request, res: Response, next: NextFunction) => {
16+
Logger.debug(`checkUserSession: sessionID: ${req.sessionID}, sessionUserID: ${req.session?.userId}, sessionProvider: ${req.session?.provider}`);
1517
getUserData(req.sessionID, req.session.userId || null, req.session.provider as string)
1618
.then((userData) => {
1719
if (!userData) {

src/api/services/authentication/authentication.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,12 @@ const getUserData = async (sessionId: string, userId: string | null, provider: s
5858
// if user data is still in cache, parse and return
5959
try {
6060
const cachedUserData = await redisEphemeralClient.get(`${process.env.USER_DATA_PREFIX}:${sessionId}`);
61+
Logger.debug(`getUserData: sessionID: ${sessionId}, cachedUserData found: ${!!cachedUserData}`);
6162
if (cachedUserData) {
6263
return JSON.parse(cachedUserData);
6364
}
64-
} catch {
65+
} catch (error) {
66+
Logger.warn(`getUserData: sessionID: ${sessionId}, failed to get cachedUserData from Redis. Error: `, error);
6567
// if cannot get from cache, then below we try to get user data from provider again
6668
}
6769

@@ -73,7 +75,9 @@ const getUserData = async (sessionId: string, userId: string | null, provider: s
7375
// if user data not in cache, then try to fetch data from the provider with access token
7476
try {
7577
const encryptedToken = await redisEphemeralClient.get(`${process.env.USER_TOKEN_PREFIX as string}:${sessionId}`);
78+
Logger.debug(`getUserData: sessionID: ${sessionId}, encryptedToken found: ${!!encryptedToken}`);
7679
const accessToken = encryptedToken ? decrypt(encryptedToken) : null;
80+
Logger.debug(`getUserData: sessionID: ${sessionId}, attempting to call getUserProviderDataFromProvider. AccessToken is null: ${!accessToken}`);
7781
const userProviderData = await getUserProviderDataFromProvider(sessionId, userId, accessToken, provider);
7882
if (userProviderData) {
7983
// get user data, will create user if user does not exist
@@ -99,7 +103,8 @@ const getUserData = async (sessionId: string, userId: string | null, provider: s
99103
return userData;
100104
}
101105
return null;
102-
} catch {
106+
} catch (error) {
107+
Logger.error(`getUserData: sessionID: ${sessionId}, error during main data retrieval/refresh. Error: `, error);
103108
return null;
104109
}
105110
};
@@ -213,6 +218,7 @@ const getUserProviderDataFromProvider = async (
213218
provider: string
214219
) => {
215220
if (!accessToken) {
221+
Logger.debug(`getUserProviderDataFromProvider: sessionID: ${sessionId}, accessToken is null, attempting to call refreshProviderTokens.`);
216222
const tokenResponse = await refreshProviderTokens(sessionId, userId, provider);
217223
accessToken = tokenResponse ? tokenResponse.accessToken : null;
218224
}
@@ -278,15 +284,17 @@ const refreshProviderTokens = async (sessionId: string, userId: string | null, p
278284

279285
// save user tokens if response is valid
280286
if (tokenResponse) {
281-
if (await saveUserTokens(sessionId, userId, tokenResponse)) {
287+
const successfullySavedTokens = await saveUserTokens(sessionId, userId, tokenResponse);
288+
Logger.debug(`refreshProviderTokens: sessionID: ${sessionId}, successfullySavedTokens: ${successfullySavedTokens}`);
289+
if (successfullySavedTokens) {
282290
return tokenResponse;
283291
}
284292
}
285293

286294
// if unable to save a valid token response, return null
287295
return null;
288296
} catch (error) {
289-
Logger.error('Error during token refresh:', error);
297+
Logger.error(`refreshProviderTokens: sessionID: ${sessionId}, error during token refresh. Error: `, error);
290298
return null;
291299
}
292300
};

0 commit comments

Comments
 (0)