签署 jwt 网络令牌 returns null - nodejs
Signing for a jwt web token returns null - nodejs
jwt 签名失败,returns 令牌为空。这是我的实现:
var jwt = require('jsonwebtoken');
var jwt_session_secret = "rnwR_apwvkWjdHovcmmQuoDwLR8av9oFjbJm2KhS7oEX9aSiBu9e96jxCDM9vj5_x8OlCCEiXwIGkagL-KDgnDsulc2e0QU5qYN75lzomrc4P9gqgGXB7HVfpaBcKgW3oLsXRBWAoFT5ICsOSwT-70hdQtJfE7a3NK6j3jmxcSE";
var payload = { ud: 23 };
var exp = Math.floor((new Date(+new Date + 12096e5).getTime())/1000);
var opts = { issuer: 'gateway', expiresIn: exp };
console.log(payload);
jwt.sign( payload, jwt_session_secret, opts, function(token) {
console.log("token = " + token);
jwt.verify(token, jwt_session_secret, function(err, decoded) {
if(err) {
console.log("Error failed: " + err);
return;
}
console.log("decoded");
console.log(decoded);
});
});
我觉得代码不错,但不确定我是否遗漏了什么。这是输出:
{ ud: 23 }
token = null
Error failed: JsonWebTokenError: jwt must be provided
您需要在回调中接受两个参数,err 和 token 如下:
jwt.sign( payload, jwt_session_secret, opts, function(err, token) {
jwt 签名失败,returns 令牌为空。这是我的实现:
var jwt = require('jsonwebtoken');
var jwt_session_secret = "rnwR_apwvkWjdHovcmmQuoDwLR8av9oFjbJm2KhS7oEX9aSiBu9e96jxCDM9vj5_x8OlCCEiXwIGkagL-KDgnDsulc2e0QU5qYN75lzomrc4P9gqgGXB7HVfpaBcKgW3oLsXRBWAoFT5ICsOSwT-70hdQtJfE7a3NK6j3jmxcSE";
var payload = { ud: 23 };
var exp = Math.floor((new Date(+new Date + 12096e5).getTime())/1000);
var opts = { issuer: 'gateway', expiresIn: exp };
console.log(payload);
jwt.sign( payload, jwt_session_secret, opts, function(token) {
console.log("token = " + token);
jwt.verify(token, jwt_session_secret, function(err, decoded) {
if(err) {
console.log("Error failed: " + err);
return;
}
console.log("decoded");
console.log(decoded);
});
});
我觉得代码不错,但不确定我是否遗漏了什么。这是输出:
{ ud: 23 }
token = null
Error failed: JsonWebTokenError: jwt must be provided
您需要在回调中接受两个参数,err 和 token 如下:
jwt.sign( payload, jwt_session_secret, opts, function(err, token) {