]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/middlewares/oauth2.js
Extends the search feature by customizing the search field (name,
[github/Chocobozzz/PeerTube.git] / server / middlewares / oauth2.js
index a1fa61fbbf3b8c5955eab89f54b12bb0cada9e95..1defdc02e8869b3d22da769e7b3a2e6bf86e90c2 100644 (file)
@@ -2,10 +2,34 @@
 
 const OAuthServer = require('express-oauth-server')
 
-const oAuth2 = new OAuthServer({
+const logger = require('../helpers/logger')
+
+const oAuthServer = new OAuthServer({
   model: require('../models/users')
 })
 
+const oAuth2 = {
+  authenticate: authenticate,
+  token: token
+}
+
+function authenticate (req, res, next) {
+  oAuthServer.authenticate()(req, res, function (err) {
+    if (err) {
+      logger.error('Cannot authenticate.', { error: err })
+      return res.sendStatus(500)
+    }
+
+    if (res.statusCode === 401 || res.statusCode === 400) return res.end()
+
+    return next()
+  })
+}
+
+function token (req, res, next) {
+  return oAuthServer.token()(req, res, next)
+}
+
 // ---------------------------------------------------------------------------
 
 module.exports = oAuth2