From f0b751ed1a4eae2929a82546052e6a30e1e81008 Mon Sep 17 00:00:00 2001
From: Roland Bernard <rolbernard@unibz.it>
Date: Thu, 20 May 2021 14:37:14 +0200
Subject: [PATCH] Fixed bug introduced by previous commit

---
 server/src/v1/auth.ts | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/server/src/v1/auth.ts b/server/src/v1/auth.ts
index 01418d9..372e6a7 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();
-- 
GitLab