如何使用jwt解码令牌

时间:2019-10-04 01:00:30

标签: javascript node.js angular 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')
}  

}

1 个答案:

答案 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的其他图书馆