Node 使用jwt验证
jwt(Json Web Token)是一种验证方式,具体请翻阅 阮一峰-JSON Web Token 入门教程
node 使用 jwt 可以参阅node-jsonwebtoken
示例
- 签发 token
let token = jwt.sign(
{
name: name,
id: id,
},
'secret', //签名
{
expiresIn: 3600 * 5, // 保存时间5个小时
}
)
- 解析 token
// 通用解析
jwt.verify(token, secret, (err, decoded) => {
if(err){
console.log(err)
return
}
console.log(decoded)
}
// express-jwt 解析
let expressJWT = require("express-jwt")
app.use(
expressJWT({
secret: "secret",
}).unless({
path: ["/login"], //除了这个地址,其他的 URL 都需要验证
})
)
- 获取 token 中的数据(使用 express-jwt)
app.get('/posts', (req, res, next) => {
let id = req.user.id
let name = req.user.name
})