]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/middlewares/oauth.ts
Reduce bundle size using a const enum
[github/Chocobozzz/PeerTube.git] / server / middlewares / oauth.ts
index ab530141543a1154b49603fe61bc010601ad7258..280595acc3a08b27c8eab9fd3c0a2bd161e63e3a 100644 (file)
@@ -20,6 +20,8 @@ function authenticate (req: express.Request, res: express.Response, next: expres
         .end()
     }
 
+    res.locals.authenticated = true
+
     return next()
   })
 }
@@ -30,6 +32,7 @@ function authenticateSocket (socket: Socket, next: (err?: any) => void) {
   logger.debug('Checking socket access token %s.', accessToken)
 
   if (!accessToken) return next(new Error('No access token provided'))
+  if (typeof accessToken !== 'string') return next(new Error('Access token is invalid'))
 
   getAccessToken(accessToken)
     .then(tokenDB => {
@@ -39,7 +42,7 @@ function authenticateSocket (socket: Socket, next: (err?: any) => void) {
         return next(new Error('Invalid access token.'))
       }
 
-      socket.handshake.query['user'] = tokenDB.User
+      socket.handshake.auth.user = tokenDB.User
 
       return next()
     })
@@ -47,7 +50,7 @@ function authenticateSocket (socket: Socket, next: (err?: any) => void) {
 }
 
 function authenticatePromiseIfNeeded (req: express.Request, res: express.Response, authenticateInQuery = false) {
-  return new Promise(resolve => {
+  return new Promise<void>(resolve => {
     // Already authenticated? (or tried to)
     if (res.locals.oauth?.token.User) return resolve()