backend: Enhance participant token validation to include authenticated user retrieval
This commit is contained in:
parent
0006097d8e
commit
41a375c6bb
@ -96,8 +96,11 @@ export const participantTokenValidator = async (req: Request) => {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const payload = await tokenService.verifyToken(token);
|
const payload = await tokenService.verifyToken(token);
|
||||||
|
const user = await getAuthenticatedUserOrAnonymous(req);
|
||||||
|
|
||||||
req.session = req.session || {};
|
req.session = req.session || {};
|
||||||
req.session.tokenClaims = payload;
|
req.session.tokenClaims = payload;
|
||||||
|
req.session.user = user;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw errorInvalidToken();
|
throw errorInvalidToken();
|
||||||
}
|
}
|
||||||
@ -126,6 +129,14 @@ export const apiKeyValidator = async (req: Request) => {
|
|||||||
|
|
||||||
// Allow anonymous access
|
// Allow anonymous access
|
||||||
export const allowAnonymous = async (req: Request) => {
|
export const allowAnonymous = async (req: Request) => {
|
||||||
|
const user = await getAuthenticatedUserOrAnonymous(req);
|
||||||
|
|
||||||
|
req.session = req.session || {};
|
||||||
|
req.session.user = user;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Return the authenticated user if available, otherwise return an anonymous user
|
||||||
|
const getAuthenticatedUserOrAnonymous = async (req: Request) => {
|
||||||
let user: User | null = null;
|
let user: User | null = null;
|
||||||
|
|
||||||
// Check if there is a user already authenticated
|
// Check if there is a user already authenticated
|
||||||
@ -151,8 +162,7 @@ export const allowAnonymous = async (req: Request) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
req.session = req.session || {};
|
return user;
|
||||||
req.session.user = user;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Limit login attempts to avoid brute force attacks
|
// Limit login attempts to avoid brute force attacks
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user