身份验证和令牌node_js

时间:2018-05-03 08:56:17

标签: node.js authentication

我遇到了问题 我试图制作一个简单的登录页面, 但是我通过http标头传递令牌的问题

  app.post('/login',(req,res) => {
  var body = req.body.user;
  User.findByCredentials(body.email,body.password).then((user) => {
    return user.generateAuthToken().then((token) => {
      res.header('x-auth', token).send(user);
    });
  }).catch((e) => {
    res.status(400).send();
  });
});

这是登录页面的路线,我将令牌保存在' x-auth'在标题中,以及它的工作

但是...

var authenticate = (req, res, next) => {
  var token = req.header('x-auth');

  User.findByToken(token).then((user) => {
    if (!user) {
      return Promise.reject();
    }

    req.user = user;
    req.token = token;
    next();
  }).catch((e) => {
    res.status(401).send();
  });
};

module.exports = {authenticate};

这个功能是女贞路线的中间件,当我要求' x-auth'我已经得到了#undifined'

这是两个代码之间连接的部分

app.get('/',authenticate,(req,res) => {
  res.sendFile(publicPath + '/index.html');
});
有人可以帮助我吗?

0 个答案:

没有答案