diff --git a/server/web3service/controllers/jwt.js b/server/web3service/controllers/jwt.js index a610463..8e3f5d3 100644 --- a/server/web3service/controllers/jwt.js +++ b/server/web3service/controllers/jwt.js @@ -12,24 +12,26 @@ function asyncVerify(jwksUri, data) { err: null, decoded: null }; - function getKey(header, cb ) { + function getKey(header, cb) { + if (jwksUri in jwksKeyHash) { + const c = jwksKeyHash[jwksUri]; + cb(null, c['key']); + return; + } const client = jwksClient({ jwksUri: jwksUri }); - console.log(header); client.getSigningKey(header.kid, function(err, key) { - console.log(err); - console.log(key); const signingKey = key.publicKey || key.rsaPublicKey; if (!err) { jwksKeyHash[jwksUri] = { 'key': key, - 'last_refresh_time': utils.getUtcTime() + 'lastRefreshTime': utils.getUtcTime() }; } cb(null, signingKey); }); - }; + } jwt.verify(data, getKey, function(err, decoded) { console.log(err); console.log(decoded);