Code

< 40 %
40-60 %
> 60 %
1 1
var jwt = require('jsonwebtoken');
2
3 1
module.exports = function(secret) {
4 1
    return function(req, res, next) {
5
        let token;
6 3
        if (req.headers.authorization) {
7
            token = req.headers['authorization'].split(' ')[1];
8
        } else {
9 3
            token = req.body.token || req.query.token || req.headers['x-access-token'];
10
        }
11 3
        if (token) {
12 2
            jwt.verify(token, secret, function(err, decoded) {
13 2
                if (err) {
14 1
                    return res.status(403).send({ success: false, message: 'Failed to authenticate token.' });
15
                } else {
16 1
                    req.decoded = decoded;
17 1
                    next();
18
                }
19
            });
20
        } else {
21 1
            return res.status(403).send({
22
                success: false,
23
                message: 'No token provided.'
24
            });
25
        }
26
    }
27
}
28