我刚刚将基于令牌的身份验证添加到我的快速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'));
由于
答案 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);