]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/middlewares/oauth.js
Server: migration script that add admin role to root user
[github/Chocobozzz/PeerTube.git] / server / middlewares / oauth.js
... / ...
CommitLineData
1'use strict'
2
3const OAuthServer = require('express-oauth-server')
4
5const constants = require('../initializers/constants')
6const logger = require('../helpers/logger')
7
8const oAuthServer = new OAuthServer({
9 accessTokenLifetime: constants.OAUTH_LIFETIME.ACCESS_TOKEN,
10 refreshTokenLifetime: constants.OAUTH_LIFETIME.REFRESH_TOKEN,
11 model: require('../lib/oauth-model')
12})
13
14const oAuth = {
15 authenticate: authenticate,
16 token: token
17}
18
19function authenticate (req, res, next) {
20 oAuthServer.authenticate()(req, res, function (err) {
21 if (err) {
22 logger.error('Cannot authenticate.', { error: err })
23 return res.sendStatus(500)
24 }
25
26 if (res.statusCode === 401 || res.statusCode === 400 || res.statusCode === 503) return res.end()
27
28 return next()
29 })
30}
31
32function token (req, res, next) {
33 return oAuthServer.token()(req, res, next)
34}
35
36// ---------------------------------------------------------------------------
37
38module.exports = oAuth