]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/middlewares/oauth.ts
Improve check jobs parameters tests
[github/Chocobozzz/PeerTube.git] / server / middlewares / oauth.ts
index 12872c4a5a2776bc16560e6678d0b8cacc0ccb76..9976993e03b8a08919ae3fe12fc8b74ae170369d 100644 (file)
@@ -1,10 +1,10 @@
-import 'express-validator'
 import * as express from 'express'
 import * as OAuthServer from 'express-oauth-server'
-import { logger } from '../helpers/logger'
+import 'express-validator'
 import { OAUTH_LIFETIME } from '../initializers'
 
 const oAuthServer = new OAuthServer({
+  useErrorHandler: true,
   accessTokenLifetime: OAUTH_LIFETIME.ACCESS_TOKEN,
   refreshTokenLifetime: OAUTH_LIFETIME.REFRESH_TOKEN,
   model: require('../lib/oauth-model')
@@ -13,14 +13,12 @@ const oAuthServer = new OAuthServer({
 function authenticate (req: express.Request, res: express.Response, next: express.NextFunction) {
   oAuthServer.authenticate()(req, res, err => {
     if (err) {
-      logger.error('Cannot authenticate.', err)
-      return res.sendStatus(500)
-    }
-
-    if (res.statusCode === 401 || res.statusCode === 400 || res.statusCode === 503) {
-      return res.json({
-        error: 'Authentication failed.'
-      }).end()
+      return res.status(err.status)
+        .json({
+          error: 'Authentication failed.',
+          code: err.name
+        })
+        .end()
     }
 
     return next()