aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/middlewares/oauth.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-05-15 22:22:03 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-05-20 09:57:40 +0200
commit65fcc3119c334b75dd13bcfdebf186afdc580a8f (patch)
tree4f2158c61a9b7c3f47cfa233d01413b946ee53c0 /server/middlewares/oauth.ts
parentd5f345ed4cfac4e1fa84dcb4fce1cda4d32f9c73 (diff)
downloadPeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.tar.gz
PeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.tar.zst
PeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.zip
First typescript iteration
Diffstat (limited to 'server/middlewares/oauth.ts')
-rw-r--r--server/middlewares/oauth.ts34
1 files changed, 34 insertions, 0 deletions
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 @@
1import OAuthServer = require('express-oauth-server')
2
3const constants = require('../initializers/constants')
4const logger = require('../helpers/logger')
5
6const oAuthServer = new OAuthServer({
7 accessTokenLifetime: constants.OAUTH_LIFETIME.ACCESS_TOKEN,
8 refreshTokenLifetime: constants.OAUTH_LIFETIME.REFRESH_TOKEN,
9 model: require('../lib/oauth-model')
10})
11
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
19 if (res.statusCode === 401 || res.statusCode === 400 || res.statusCode === 503) return res.end()
20
21 return next()
22 })
23}
24
25function token (req, res, next) {
26 return oAuthServer.token()(req, res, next)
27}
28
29// ---------------------------------------------------------------------------
30
31export {
32 authenticate,
33 token
34}