创建没有签名的JWT令牌?

时间:2016-08-18 10:07:15

标签: javascript node.js jwt digital-signature

是否可以在没有签名的情况下创建JWT令牌?

我们有一个案例,我们不需要签名,但需要所有其余的令牌。那么是否可以在没有签名的情况下创建JWT令牌?

根据文档,您可以通过以下方式创建令牌:

var token = jwt.sign

命令,所以它暗示秘密是强制性的。

1 个答案:

答案 0 :(得分:4)

根据RFC 7519

  

支持通过手段保护JWT内容的用例      JWT中包含的签名和/或加密除外      (例如包含JWT的数据结构上的签名),JWT      也可以在没有签名或加密的情况下创建。无担保      JWT是一个JWS,使用“alg”Header参数值“none”和      JWS签名值的空字符串,如JWA中所定义      规范[JWA];它是带有JWT声明集的不安全JWS      作为其JWS Payload。

由于您没有提到您正在使用的库,我认为您使用的是from auth0。虽然我尚未对其进行测试,但似乎将algorithm设置为none会导致“无数字签名或MAC值”:

var token = jwt.sign({ foo: 'bar' }, cert, { algorithm: 'none'});