Просмотр исходного кода

:recycle: add error for missing sessionToken

brian_auth_fix
j 2 лет назад
Родитель
Сommit
6b2ba741da
2 измененных файлов: 12 добавлений и 6 удалений
  1. 8
    5
      backend/lib/routes/user/validate-session.js
  2. 4
    1
      backend/lib/services/user.js

+ 8
- 5
backend/lib/routes/user/validate-session.js Просмотреть файл

@@ -31,12 +31,15 @@ module.exports = {
31 31
             const hashedSessionToken = request.payload
32 32
             const { userService, profileService } = request.server.services()
33 33
             try {
34
-                const validatedSessionToken =
34
+                const validatedSessionInfo =
35 35
                     userService.validateSession(hashedSessionToken)
36
-                if(validatedSessionToken?.email) throw new Error(`Could not validate token based on payload: ${request.payload}`)
37
-                
36
+                if (validatedSessionInfo?.email)
37
+                    throw new Error(
38
+                        `Could not validate token based on payload: ${request.payload}`,
39
+                    )
40
+
38 41
                 const user = await userService.findByUserEmail(
39
-                    validatedSessionToken.email,
42
+                    validatedSessionInfo.email,
40 43
                 )
41 44
                 const type = user.is_poster === 1 ? 'poster' : 'seeker'
42 45
                 const profiles = await profileService.getCompleteProfilesFor(
@@ -49,7 +52,7 @@ module.exports = {
49 52
                     ok: true,
50 53
                     handler: pluginConfig.handlerType,
51 54
                     data: {
52
-                        ...validatedSessionToken,
55
+                        ...validatedSessionInfo,
53 56
                         profileId: profileId,
54 57
                     },
55 58
                 }

+ 4
- 1
backend/lib/services/user.js Просмотреть файл

@@ -266,10 +266,13 @@ module.exports = class UserService extends Schmervice.Service {
266 266
             throw new Error('email was never responded to!')
267 267
         }
268 268
         const sessionToken = userSession.sessionToken
269
+        if (!sessionToken) {
270
+            throw new Error('No session token in userSession')
271
+        }
269 272
         const sessionTokenIsValid = this.validateToken(sessionToken)
270 273
         return {
271 274
             ...sessionTokenIsValid.payload,
272
-            sessionToken: this.activeSessions[hashedSessionToken].sessionToken,
275
+            sessionToken,
273 276
             email: this.activeSessions[hashedSessionToken].email,
274 277
         }
275 278
     }

Загрузка…
Отмена
Сохранить