From ccaa2e8beea4456b6e657a3296dd20d66636dbb8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 3 Jun 2024 10:51:01 +0800 Subject: [PATCH] 1 --- server/web3service/controllers/jwt.js | 31 +++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/server/web3service/controllers/jwt.js b/server/web3service/controllers/jwt.js index 5bf060a..4681bbb 100644 --- a/server/web3service/controllers/jwt.js +++ b/server/web3service/controllers/jwt.js @@ -5,8 +5,14 @@ const jwksClient = require('jwks-rsa'); const jwt = require('jsonwebtoken'); const jwksKeyHash = {}; +const jwksKeyLockHash = {}; async function asyncGetKey(jkwsUri, header, cb) { + if (jwksUri in jwksKeyHash) { + const c = jwksKeyHash[jwksUri]; + cb(null, c['key']); + return; + } const client = jwksClient({ jwksUri: jwksUri }); @@ -28,21 +34,18 @@ function asyncVerify(jwksUri, data) { err: null, decoded: null }; - function getKey(header, cb) { - if (jwksUri in jwksKeyHash) { - const c = jwksKeyHash[jwksUri]; - cb(null, c['key']); - return; - } + jwt.verify + (data, + (header, cb) => { asyncGetKey(jwksUri, header, cb); - } - jwt.verify(data, getKey, function(err, decoded) { - console.log(err); - console.log(decoded); - ret.err = err; - ret.decoded = decoded; - resolve(ret); - }); + }, + (err, decoded) => { + console.log(err); + console.log(decoded); + ret.err = err; + ret.decoded = decoded; + resolve(ret); + }); }); }