如何使用 jwt 解码令牌



当我尝试验证用户的令牌时,我总是收到错误 500。

function verifyToken(req, res, next) {
if(!req.headers.authorization){
return res.status(401).send('Unauthorized request')
}
let token = req.headers.authorization.split(' ')[1]
if (token === 'null') {
return res.status(401).send('Unauthorized request')
}
let payload = jwt.verify(token, 'secretkey')
if (!payload) {
return res.status(401).send('Unauthorized request')
}
req.userId = payload.subject
next()

我从尝试捕获有效载荷开始环绕,我想我明白 jwt 操作已经改变,它现在需要它才能工作,但我不明白为什么它不起作用。看来他无法检查比赛。

function verifyToken(req, res, next) {
if(!req.headers.authorization){
return res.status(401).send('Unauthorized request')
}
let token = req.headers.authorization.split(' ')[1]
if (token === 'null') {
return res.status(401).send('Unauthorized request')
}
try {
let payload = jwt.verify(token, 'secretkey')
req.userId = payload.subject
next()
} catch (error) {
return res.status(401).send('Unauthorized request')
}  

}

你可以使用 jwt-decode/npm jwt-decode 库来解码。文档示例:

import jwt_decode from 'jwt-decode';
var token = 'eyJ0eXAiO.../// jwt token';
var decoded = jwt_decode(token);
console.log(decoded);

其他库检查角度2-JWT

最新更新