A library to retrieve RSA public keys from a JWKS (JSON Web Key Set) endpoint.
JavaScript
876
517 commits
updated Oct 8, 2026

📚 Documentation - 🚀 Getting Started - 💬 Feedback
Using npm in your project directory run the following command:
npm install --save jwks-rsa
Supports all currently registered JWK types and JWS Algorithms, see panva/jose#262 for more information.
Provide a JWKS endpoint which exposes your signing keys.
const jwksClient = require('jwks-rsa');
const client = jwksClient({
jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
requestHeaders: {}, // Optional
timeout: 30000 // Defaults to 30s
});
Then use getSigningKey to retrieve a signing key that matches a specific kid.
const kid = 'RkI5MjI5OUY5ODc1N0Q4QzM0OUYzNkVGMTJDOUEzQkFCOTU3NjE2Rg';
const key = await client.getSigningKey(kid);
const signingKey = key.getPublicKey();
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
To provide feedback or report a bug, please raise an issue on our issue tracker.
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?
This project is licensed under the MIT license. See the LICENSE file for more info.
74 followers · starred Apr 2021
151 followers · starred Sep 2022
229 followers · starred Dec 2016
643 followers · starred Nov 2018
A library to retrieve RSA public keys from a JWKS (JSON Web Key Set) endpoint.
JavaScript
876
517 commits
updated Oct 8, 2026

📚 Documentation - 🚀 Getting Started - 💬 Feedback
Using npm in your project directory run the following command:
npm install --save jwks-rsa
Supports all currently registered JWK types and JWS Algorithms, see panva/jose#262 for more information.
Provide a JWKS endpoint which exposes your signing keys.
const jwksClient = require('jwks-rsa');
const client = jwksClient({
jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
requestHeaders: {}, // Optional
timeout: 30000 // Defaults to 30s
});
Then use getSigningKey to retrieve a signing key that matches a specific kid.
const kid = 'RkI5MjI5OUY5ODc1N0Q4QzM0OUYzNkVGMTJDOUEzQkFCOTU3NjE2Rg';
const key = await client.getSigningKey(kid);
const signingKey = key.getPublicKey();
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
To provide feedback or report a bug, please raise an issue on our issue tracker.
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?
This project is licensed under the MIT license. See the LICENSE file for more info.
74 followers · starred Apr 2021
151 followers · starred Sep 2022
229 followers · starred Dec 2016
643 followers · starred Nov 2018