X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Foauth2.js;h=1defdc02e8869b3d22da769e7b3a2e6bf86e90c2;hb=46246b5f194caafba4e3a72e9365acd8b35785de;hp=a1fa61fbbf3b8c5955eab89f54b12bb0cada9e95;hpb=9457bf88079a23d28011ff7c65faa56a548b7817;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/oauth2.js b/server/middlewares/oauth2.js index a1fa61fbb..1defdc02e 100644 --- a/server/middlewares/oauth2.js +++ b/server/middlewares/oauth2.js @@ -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