将JWT操作作为异步执行有好处吗?

时间:2019-02-11 11:03:14

标签: node.js asynchronous hash cryptography jwt

我正在为节点使用广受欢迎的jsonwebtoken软件包。签名和验证通常是同步执行的,但是还提供了异步选项。

我认为所涉及的操作既不会限制数据,也不会增加计算量,因此不会增加主线程/用户线程的负担。我看不到性能方面的好处。

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

1 个答案:

答案 0 :(得分:1)

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

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