Changelog
[2.0.3] - (2021-04-20)
Fixed
Security
Changelog
[2.0.1] - (2021-03-12)
Added
getSigningKey
#227 (davidpatrick)Fixed
Changelog
[2.0.0] - (2021-03-01)
With version 2 we have added full JWK/JWS support. With this we have bumped the node version to minimum 10. We have also removed Axios and exposed a fetcher
option to allow user's to completely override how the request to the jwksUri
endpoint is made.
Added
Changed
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')
});
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)
})
});
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();
Changelog
[1.12.3] - (2021-02-25)
Added
Fixed
Changelog
[1.12.2] - (2021-01-07)
Fixed
Changelog
[1.12.0] - (2020-12-08)
Added
Deprecation
We are deprecating passing in a jwksObject
to the client for reasons laid out in #202. 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);
}
});
Changelog
[1.11.0] - (2020-10-23)
Added