总是在jwt.io中获得无效签名[nodejs,expreess]

时间:2018-06-09 13:27:53

标签: node.js express jwt

美好的一天! 当我在jwt.io中输入生成的令牌时,我总是得到无效的签名 这是我制作令牌的代码

const secret = 'secret';
const token = jwt.sign(
                        {
                            username: user.username,
                            userID: user._id
                        }, 
                        secret, 
                        {
                            expiresIn: "1hr"
                        }
                    );

我做错了什么? 我正在使用jsonwebtoken包。 https://github.com/auth0/node-jsonwebtoken

1 个答案:

答案 0 :(得分:1)

如果您使用的是jsonwebtoken lib,我尝试并且能够创建令牌并进行验证。如果您仍然面临这个问题,请查看代码并在评论中告诉我。

var jwt = require('jsonwebtoken')

const secret = 'secret';
const token = jwt.sign({
        username: "",
        userID: 1
    },
    secret, {
        expiresIn: "1hr"
    },
    function(err, token) {
        if (err) {
            console.log(err);
        } else {
            console.log(token);
        }
    });

这是jwt.io的链接,我在这里输入了您使用的秘密,并说它已经过验证。

https://jwt.io/#debugger-io?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IiIsInVzZXJJRCI6MSwiaWF0IjoxNTI4NTUyMDYyLCJleHAiOjE1Mjg1NTU2NjJ9.raL79zTGONyXgr9vuXzAyMflHJ0JqPYTXsy9KwmlXhA

enter image description here