From 65fcc3119c334b75dd13bcfdebf186afdc580a8f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 15 May 2017 22:22:03 +0200 Subject: First typescript iteration --- server/middlewares/oauth.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 server/middlewares/oauth.ts (limited to 'server/middlewares/oauth.ts') diff --git a/server/middlewares/oauth.ts b/server/middlewares/oauth.ts new file mode 100644 index 000000000..31ae1e000 --- /dev/null +++ b/server/middlewares/oauth.ts @@ -0,0 +1,34 @@ +import OAuthServer = require('express-oauth-server') + +const constants = require('../initializers/constants') +const logger = require('../helpers/logger') + +const oAuthServer = new OAuthServer({ + accessTokenLifetime: constants.OAUTH_LIFETIME.ACCESS_TOKEN, + refreshTokenLifetime: constants.OAUTH_LIFETIME.REFRESH_TOKEN, + model: require('../lib/oauth-model') +}) + +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 || res.statusCode === 503) return res.end() + + return next() + }) +} + +function token (req, res, next) { + return oAuthServer.token()(req, res, next) +} + +// --------------------------------------------------------------------------- + +export { + authenticate, + token +} -- cgit v1.2.3