Skip to content

Releases: auth0/node-jwks-rsa

v2.0.4

16 Jul 13:39
cd52aa2
Compare
Choose a tag to compare

Fixed

v2.0.3

22 Apr 19:34
b4d583c
Compare
Choose a tag to compare

[2.0.3] - (2021-04-20)

Fixed

Security

v2.0.2

25 Mar 16:28
c26eb96
Compare
Choose a tag to compare

[2.0.2] - (2021-03-24)

Fixed

v2.0.1

24 Mar 22:59
329cec5
Compare
Choose a tag to compare

[2.0.1] - (2021-03-12)

Added

Fixed

v2.0.0

11 Mar 21:33
1e3ba06
Compare
Choose a tag to compare

With version 2 we have added full JWK/JWS support, bumped Node version support to minimum 10, removed Axios, and exposed a fetcher option to allow user's to completely override how the request to the jwksUri endpoint is made.

Please take note of the breaking changes and the migration guide below.

Breaking Changes

  • Drops support for Node < 10
  • No more callbacks, using async/await(promises)
  • Removed Axios and changed the API to JwksClient

Changes

Added

Changed

Migration Guide from v1 to v2

Proxies

The proxy option has been removed from the JwksClient. Support for it was a little spotty through Axios, and we wanted to allow users to have more control over the flow. Now you can specify your proxy by overriding the requestAgent used with an agent with built-in proxy support, or by completely overriding the request library with the fetcher option.

// OLD
const oldClient = jwksClient({
  jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
  proxy: 'https://username:pass@address:port'
});

// NEW
const HttpsProxyAgent = require('https-proxy-agent');
const newClient = jwksClient({
  jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
  requestAgent: new HttpsProxyAgent('https://username:pass@address:port')
});

Request Agent Options

The library no longer gates what http(s) Agent is used, so we have removed requestAgentOptions and now expose the requestAgent option when creating a jwksClient.

// OLD
const oldClient = jwksClient({
  jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
  requestAgentOptions: {
    ca: fs.readFileSync(caFile)
  }
});

// NEW
const newClient = jwksClient({
  jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
  requestAgent: new https.Agent({
    ca: fs.readFileSync(caFile)
  })
});

Migrated Callbacks to Async/Await

The library no longer supports callbacks. We have migrated to async/await(promises).

// OLD
client.getSigningKey(kid, (err, key) => {
  const signingKey = key.getPublicKey();
});

// NEW
const key = await client.getSigningKey(kid);
const signingKey = key.getPublicKey();

v1.12.3

26 Feb 05:42
Compare
Choose a tag to compare

[1.12.3] - (2021-02-25)

Added

  • Add alg to SigningKey types #220 (okko)

Fixed

1.12.0

08 Dec 22:36
26d760b
Compare
Choose a tag to compare

Added

Deprecation
We are deprecating passing in a jwksObject to the client for reasons laid out in #292. In order to load keys from anything other than the jwksUri, please use the getKeysInterceptor.

  const client = new JwksClient({ 
    jwksUri: 'https://my-enterprise-id-provider/.well-known/jwks.json',
    getKeysInterceptor: (cb) => {
      const file = fs.readFileSync(jwksFile);
      return cb(null, file.keys);
    }
  });

v1.10.1

24 Sep 14:57
3de49e0
Compare
Choose a tag to compare

Fixed

v1.10.0

23 Sep 14:43
Compare
Choose a tag to compare

Added

Fixed

v1.9.0

18 Aug 17:50
8690698
Compare
Choose a tag to compare

Added

Fixed

Security