diff --git a/server/src/v1/auth.ts b/server/src/v1/auth.ts index 01418d90734901ade0d755566899cbe3306312fb..372e6a798d7dc97907813bf3858c618048e94b91 100644 --- a/server/src/v1/auth.ts +++ b/server/src/v1/auth.ts @@ -31,13 +31,14 @@ export async function tokenVerification(req: Request, _res: Response, next: Next if (token) { delete req.body.token; try { + let decoded; if (await usePublicAndPrivate()) { - const decoded = await asyncify(verify, token, await getPublicKey(), { algorithms: ["ES384"] }); - if (isOfType<Token>(decoded, [['id', 'string'], ['type', 'string']]) && decoded.type === authTokenType) { - req.body.token = decoded; - } + decoded = await asyncify(verify, token, await getPublicKey(), { algorithms: ["ES384"] }); } else { - return asyncify(verify, token, getSecret(), { algorithms: ["HS384"] }); + decoded = await asyncify(verify, token, getSecret(), { algorithms: ["HS384"] }); + } + if (isOfType<Token>(decoded, [['id', 'string'], ['type', 'string']]) && decoded.type === authTokenType) { + req.body.token = decoded; } } catch (err) { /* Token has already been deleted */ } next();