Bläddra i källkod

:recycle: look at the sessions

dev
j 2 år sedan
förälder
incheckning
23fc25e143

+ 7
- 6
backend/lib/routes/user/validate-session.js Visa fil

36
             const { userService, profileService } = request.server.services()
36
             const { userService, profileService } = request.server.services()
37
             try {
37
             try {
38
                 if (!hashedSessionToken) {
38
                 if (!hashedSessionToken) {
39
-                    throw new Error('hashedSessionToken not passed!')
39
+                    throw new Error('[API] hashedSessionToken not passed!')
40
                 }
40
                 }
41
                 const userSession =
41
                 const userSession =
42
                     userService.activeSessions[hashedSessionToken]
42
                     userService.activeSessions[hashedSessionToken]
43
                 if (!userSession) {
43
                 if (!userSession) {
44
                     throw new Error(
44
                     throw new Error(
45
-                        'hashedSessionToken not in activeSessions registry!',
45
+                        '[API] hashedSessionToken not in activeSessions registry!',
46
+                        userService.activeSessions,
46
                     )
47
                     )
47
                 }
48
                 }
48
                 if (!userSession.emailWasRespondedTo) {
49
                 if (!userSession.emailWasRespondedTo) {
49
                     throw new Error(
50
                     throw new Error(
50
-                        `Email was never responded to! ${userSession.emailWasRespondedTo}`,
51
+                        `[API] Email was never responded to! ${userSession.emailWasRespondedTo}`,
51
                     )
52
                     )
52
                 }
53
                 }
53
                 if (!userSession.sessionToken) {
54
                 if (!userSession.sessionToken) {
54
                     throw new Error(
55
                     throw new Error(
55
-                        `No session token in userSession ${userSession.sessionToken}`,
56
+                        `[API] No session token in userSession ${userSession.sessionToken}`,
56
                     )
57
                     )
57
                 }
58
                 }
58
                 const sessionTokenIsValid = userService.validateToken(
59
                 const sessionTokenIsValid = userService.validateToken(
60
                 )
61
                 )
61
                 if (!sessionTokenIsValid) {
62
                 if (!sessionTokenIsValid) {
62
                     throw new Error(
63
                     throw new Error(
63
-                        `Could not validate session token: ${userSession.sessionToken}`,
64
+                        `[API] Could not validate session token: ${userSession.sessionToken}`,
64
                     )
65
                     )
65
                 }
66
                 }
66
                 if (!userSession?.email)
67
                 if (!userSession?.email)
67
                     throw new Error(
68
                     throw new Error(
68
-                        `Could not validate token based on payload: ${request.payload}`,
69
+                        `[API] Could not validate token based on payload: ${request.payload}`,
69
                     )
70
                     )
70
                 const user = await userService.findByUserEmail(
71
                 const user = await userService.findByUserEmail(
71
                     userSession.email,
72
                     userSession.email,

+ 6
- 5
backend/lib/routes/user/verify-session.js Visa fil

36
                     return hashedToken === hash
36
                     return hashedToken === hash
37
                 })
37
                 })
38
                 if (!hashToMatch?.length) {
38
                 if (!hashToMatch?.length) {
39
-                    throw Error('hashToMatch Not Found!')
39
+                    throw Error('[API] hashToMatch Not Found!')
40
                 }
40
                 }
41
                 const now = Date.now()
41
                 const now = Date.now()
42
                 const expiration = new Date(
42
                 const expiration = new Date(
45
                 if (now > expiration) {
45
                 if (now > expiration) {
46
                     delete userService.activeSessions[hashToMatch]
46
                     delete userService.activeSessions[hashToMatch]
47
                     throw new Error(
47
                     throw new Error(
48
-                        'you took to long to respond to the email...',
48
+                        '[API] you took to long to respond to the email...',
49
                     )
49
                     )
50
                 }
50
                 }
51
                 if (!hashToMatch) {
51
                 if (!hashToMatch) {
52
-                    throw new Error('no record of email in cache')
52
+                    throw new Error('[API] no record of email in cache')
53
                 }
53
                 }
54
                 // NOTE: When user responds to email,
54
                 // NOTE: When user responds to email,
55
                 // boolean value is set to true, allowing user back into the survey
55
                 // boolean value is set to true, allowing user back into the survey
56
-                userService.activeSessions[hashToMatch].emailWasRespondedTo =
57
-                    true
56
+                userService.activeSessions[
57
+                    hashToMatch
58
+                ].emailWasRespondedTo = true
58
                 return {
59
                 return {
59
                     ok: true,
60
                     ok: true,
60
                     handler: pluginConfig.handlerType,
61
                     handler: pluginConfig.handlerType,

Laddar…
Avbryt
Spara