代码之家  ›  专栏  ›  技术社区  ›  lonix

以异步方式执行JWT操作是否有好处?

  •  0
  • lonix  · 技术社区  · 7 年前

    我用的是非常流行的 jsonwebtoken 节点的包。签名和验证通常是同步执行的,但也提供了异步选项。

    我认为所涉及的操作既不是数据绑定的,也不是计算上的昂贵,因此没有增加主/用户线程负担的风险。我看不出性能优势。

    那么,为什么要异步执行这样的操作——有什么好处呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Andrei Tătar    7 年前

    查看包源代码时,异步回调(验证令牌时)的唯一原因似乎是以异步方式提供密钥/公钥:

    if(typeof secretOrPublicKey === 'function') {
      if(!callback) {
        return done(new JsonWebTokenError('verify must be called asynchronous if secret or public key is provided as a callback'));
      }
    
      getSecret = secretOrPublicKey;
    }
    

    https://github.com/auth0/node-jsonwebtoken/blob/da8f55c3c7b4dd0bfc07a2df228500fdd050242a/verify.js#L73