Sfoglia il codice sorgente

:recycle: better error messages for sessin token processing

neo
toj 2 anni fa
parent
commit
da0195ff62

+ 2
- 0
backend/lib/routes/user/validate-session.js Vedi File

33
             try {
33
             try {
34
                 const validatedSessionToken =
34
                 const validatedSessionToken =
35
                     userService.validateSession(hashedSessionToken)
35
                     userService.validateSession(hashedSessionToken)
36
+                if(validatedSessionToken?.email) throw new Error(`Could not validate token based on request: ${request}`)
37
+                
36
                 const user = await userService.findByUserEmail(
38
                 const user = await userService.findByUserEmail(
37
                     validatedSessionToken.email,
39
                     validatedSessionToken.email,
38
                 )
40
                 )

+ 5
- 0
backend/lib/services/user.js Vedi File

253
      * @returns {PayloadFromActiveSessions}
253
      * @returns {PayloadFromActiveSessions}
254
      */
254
      */
255
     validateSession(hashedSessionToken) {
255
     validateSession(hashedSessionToken) {
256
+        if (!hashedSessionToken) {
257
+            throw new Error(
258
+                'hashedSessionToken not passed!',
259
+            )
260
+        }
256
         const userSession = this.activeSessions[hashedSessionToken]
261
         const userSession = this.activeSessions[hashedSessionToken]
257
         if (!userSession) {
262
         if (!userSession) {
258
             throw new Error(
263
             throw new Error(

+ 3
- 2
frontend/src/views/VerifyView.vue Vedi File

18
             sessionData = await authenticator.verifySession(hash)
18
             sessionData = await authenticator.verifySession(hash)
19
             if (!sessionData.hashesMatch)
19
             if (!sessionData.hashesMatch)
20
                 throw new Error('Hash is not in activeSessions!')
20
                 throw new Error('Hash is not in activeSessions!')
21
+            
22
+            /** Check if session was confirmed and is now valid in guard*/
23
+            this.$router.push('/')
21
         } catch (err) {
24
         } catch (err) {
22
             console.error(err)
25
             console.error(err)
23
         }
26
         }
24
-        /** Check if session was confirmed and is now valid in guard*/
25
-        this.$router.push('/')
26
     }
27
     }
27
 }
28
 }
28
 </script>
29
 </script>

Loading…
Annulla
Salva