【发布时间】:2019-05-23 08:27:07
【问题描述】:
我试图弄清楚如何使用 JWT 为现有用户获取令牌 ID 或新令牌。目标是获取电子邮件和密码,在 mongo DB 中找到它,然后将令牌发送回客户端,然后为会话存储令牌。
目前在注册时我会加密密码并将电子邮件、姓名和密码存储在 mongoDB 中。
根据我一直在学习的内容,实际的令牌没有存储在 mongoDB 中,而是从 _id 生成的,由于某种原因我无法提取它,只是辞职并取回令牌,但没有运气。对于个人项目,我们非常感谢任何建议。
User.create({
name : req.body.name,
email : req.body.email,
password : req.body.password,
},
function (err, user) {
if (err) return res.status(500).send("There was a problem registering the user.")
// create a token
var token = jwt.sign({ id: user._id }, config.secret);
res.status(200).send({ auth: true, token: token });
});
【问题讨论】:
-
使用可以在查询密码的同时从mongodb查询_id的值
-
@AnshuKumar 我用下面的代码试过了,我得到了未定义的; User.findByEmail(userEmail, function (err, user) { if (err) return res.status(500).send("找用户有问题"); if (!user) return res.status(404 ).send("No user found."); console.log('id is '+user._id) res.status(200).send({ auth: true, user: user.id}); }) ;
-
嗨@Jose,我在答案中给出了代码sn-p。如果您仍有任何问题,请在此处发表评论。