【问题标题】:Create JWT token without signature?创建没有签名的 JWT 令牌?
【发布时间】:2016-12-25 05:17:09
【问题描述】:

是否可以创建没有签名的 JWT 令牌?

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

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

var token = jwt.sign

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

【问题讨论】:

    标签: javascript node.js jwt digital-signature


    【解决方案1】:

    根据RFC 7519

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

    由于您没有提及您使用的是哪个库,我想您使用的是from auth0。虽然我还没有测试过,但似乎将algorithm设置为none会导致“没有数字签名或MAC值”:

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

    【讨论】:

    • 这是否意味着您可以在没有签名的情况下创建它?
    • @VilleMiekk-oja 文档如是说! > 没有数字签名或 MAC 值
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2021-07-03
    • 2019-11-01
    • 2018-05-29
    • 2017-05-30
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多