我开发了一个由Node.js/Express和JWT组成的身份验证系统。
我需要识别用户第一次登录的时间,并向他显示仅与该时间相关的消息。我该怎么做?
这是我用来验证用户的身份验证中间件:
const auth = (req, res, next) => {
const token = req.header("x-auth-token")
if (!token) return res.status(401).json({ msg : "No token, authorization failed" })
try {
const decoded = jwt.verify(token, config.get("jwtSecret"))
req.user = decoded
next()
}
catch {
res.status(400).json({ msg : "Token is not valid" })
}
}
对于这种方法,您应该让用户第一次使用基本身份验证登录(电子邮件/用户名+密码(。在后端验证用户是有效用户之后,应该将他的_id
存储在JWT中,并将该JWT发送给他。在每个下一个请求中,该用户都应该发送JWT,并且您可以使用JWT身份验证(但对于初次登录,您应该使用基本身份验证(。