0

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

我正在使用https://jwt.io/进行测试

我用来测试的令牌 -

 eyJhbGciOiJIUzI1NiJ9.eyJfaWQiOiJSYW4zIiwibmFtZSI6IlJhbjMgVGVzdCJ9.YPJXc4tp8NaWcboE9obwGvm-AGa6fkN1IA6y0pT7u-w"

标题部分刚刚显示

{
 "alg": "HS256"
}

我希望它会像这样出现——

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

请解释为什么标头中缺少 Token 类型?

我像这样生成令牌 -

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

谢谢

4

1 回答 1

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);
于 2016-11-30T03:19:08.747 回答