Express JS和JWT - 令牌类型未在解码的头中显示

时间:2016-11-30 03:08:52

标签: json authentication express jwt express-jwt

我刚刚将基于令牌的身份验证添加到我的快速JS应用程序中 - 看起来令牌类型并未在解码部分中显示。

我正在使用https://jwt.io/

进行测试

Token我曾经测试过 -

 eyJhbGciOiJIUzI1NiJ9.eyJfaWQiOiJSYW4zIiwibmFtZSI6IlJhbjMgVGVzdCJ9.YPJXc4tp8NaWcboE9obwGvm-AGa6fkN1IA6y0pT7u-w"

标题部分只显示

{
 "alg": "HS256"
}

我希望它能像这样出现 -

{
 "alg": "HS256",
 "typ": "JWT"
}

请解释为什么标题中缺少令牌类型?

我生成这样的令牌 -

 var token = jwt.sign(JSON.stringify(user_dict), app.get('superSecret'));

由于

1 个答案:

答案 0 :(得分:2)

"类型"是根据规范的标题上的可选设置,它通常 ,因此大多数示例都不会分享如何操作。假设您正在使用此库(https://github.com/auth0/node-jsonwebtoken),您将能够将选项传递到"标题"通过options.header值可以让您指定字段" typ":" JWT"通过

var options = { "header": { "typ": "JWT" } };
var token = jwt.sign(JSON.stringify(user_dict), app.get('superSecret'), options);