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

:recycle: collapse session validation check in route

brian_auth_fix
j 2 лет назад
Родитель
Сommit
d3899e3f9b
2 измененных файлов: 28 добавлений и 27 удалений
  1. 27
    2
      backend/lib/routes/user/validate-session.js
  2. 1
    25
      backend/lib/services/user.js

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

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

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

252
      * @param {HashedSessionToken} hashedSessionToken
252
      * @param {HashedSessionToken} hashedSessionToken
253
      * @returns {PayloadFromActiveSessions}
253
      * @returns {PayloadFromActiveSessions}
254
      */
254
      */
255
-    validateSession(hashedSessionToken) {
256
-        if (!hashedSessionToken) {
257
-            throw new Error('hashedSessionToken not passed!')
258
-        }
259
-        const userSession = this.activeSessions[hashedSessionToken]
260
-        if (!userSession) {
261
-            throw new Error(
262
-                'hashedSessionToken not in activeSessions registry!',
263
-            )
264
-        }
265
-        if (!userSession.emailWasRespondedTo) {
266
-            throw new Error('email was never responded to!')
267
-        }
268
-        const sessionToken = userSession.sessionToken
269
-        if (!sessionToken) {
270
-            throw new Error('No session token in userSession')
271
-        }
272
-        const sessionTokenIsValid = this.validateToken(sessionToken)
273
-        return sessionTokenIsValid
274
-            ? {
275
-                  sessionToken,
276
-                  email: this.activeSessions[hashedSessionToken].email,
277
-              }
278
-            : { ...sessionTokenIsValid.payload }
279
-    }
255
+    validateSession(hashedSessionToken) {}
280
     removeSession(hashedSessionToken) {
256
     removeSession(hashedSessionToken) {
281
         const userSession = this.activeSessions[hashedSessionToken]
257
         const userSession = this.activeSessions[hashedSessionToken]
282
         if (!userSession) {
258
         if (!userSession) {

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