]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/middlewares/oauth.ts
require -> import
[github/Chocobozzz/PeerTube.git] / server / middlewares / oauth.ts
CommitLineData
4d4e5cd4 1import * as OAuthServer from 'express-oauth-server'
9457bf88 2
e02643f3
C
3import { OAUTH_LIFETIME } from '../initializers'
4import { logger } from '../helpers'
0c1cbbfe
C
5
6const oAuthServer = new OAuthServer({
e02643f3
C
7 accessTokenLifetime: OAUTH_LIFETIME.ACCESS_TOKEN,
8 refreshTokenLifetime: OAUTH_LIFETIME.REFRESH_TOKEN,
69b0a27c 9 model: require('../lib/oauth-model')
9457bf88
C
10})
11
0c1cbbfe
C
12function authenticate (req, res, next) {
13 oAuthServer.authenticate()(req, res, function (err) {
14 if (err) {
15 logger.error('Cannot authenticate.', { error: err })
16 return res.sendStatus(500)
17 }
18
f9b2d2ce 19 if (res.statusCode === 401 || res.statusCode === 400 || res.statusCode === 503) return res.end()
0c1cbbfe
C
20
21 return next()
22 })
23}
24
25function token (req, res, next) {
26 return oAuthServer.token()(req, res, next)
27}
28
9457bf88
C
29// ---------------------------------------------------------------------------
30
65fcc311
C
31export {
32 authenticate,
33 token
34}