]>
Commit | Line | Data |
---|---|---|
9457bf88 C |
1 | 'use strict' |
2 | ||
3 | const OAuthServer = require('express-oauth-server') | |
4 | ||
0c1cbbfe C |
5 | const logger = require('../helpers/logger') |
6 | ||
7 | const oAuthServer = new OAuthServer({ | |
9457bf88 C |
8 | model: require('../models/users') |
9 | }) | |
10 | ||
0c1cbbfe C |
11 | const oAuth2 = { |
12 | authenticate: authenticate, | |
13 | token: token | |
14 | } | |
15 | ||
16 | function authenticate (req, res, next) { | |
17 | oAuthServer.authenticate()(req, res, function (err) { | |
18 | if (err) { | |
19 | logger.error('Cannot authenticate.', { error: err }) | |
20 | return res.sendStatus(500) | |
21 | } | |
22 | ||
23 | if (res.statusCode === 401 || res.statusCode === 400) return res.end() | |
24 | ||
25 | return next() | |
26 | }) | |
27 | } | |
28 | ||
29 | function token (req, res, next) { | |
30 | return oAuthServer.token()(req, res, next) | |
31 | } | |
32 | ||
9457bf88 C |
33 | // --------------------------------------------------------------------------- |
34 | ||
35 | module.exports = oAuth2 |