当我尝试验证用户令牌时,总是会收到错误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')
}
}
答案 0 :(得分:1)
您可以使用jwt-decode / npm jwt-decode库进行解码。 doc中的示例:
import jwt_decode from 'jwt-decode';
var token = 'eyJ0eXAiO.../// jwt token';
var decoded = jwt_decode(token);
console.log(decoded);
要检查angular2-jwt的其他图书馆