如何通过标头获取令牌而不是URL

时间:2018-03-01 12:56:59

标签: javascript node.js http

我有一个节点服务器,对于令牌身份验证,我使用它:

var jwt = require('jsonwebtoken');

var SEED = require('../config/config').SEED;



// =====================================
//  Verificar token
// =====================================
exports.verificaToken = function(req, res, next) {

    var token = req.query.token;

    jwt.verify(token, SEED, (err, decoded) => {

        if (err) {
            return res.status(401).json({
                ok: false,
                mensaje: 'Token incorrecto',
                errors: err
            });
        }

        req.usuario = decoded.usuario;

        next();

    });

};

我想知道如何通过标题而不是URL获取令牌,现在我必须使用localhost:300 / usuario?TOKEN,但我不知道如何通过标题发送和验证令牌,谢谢。< / p>

1 个答案:

答案 0 :(得分:0)

getToken = function fromHeaderOrQuerystring (req) {
  if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
    return req.headers.authorization.split(' ')[1];
  } else if (req.query && req.query.token) {
    return req.query.token;
  }
  return null;
}

source