MCPcopy Index your code
hub / github.com/auth0/node-jwks-rsa

github.com/auth0/node-jwks-rsa @v4.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.1.0 ↗ · + Follow
55 symbols 101 edges 39 files 2 documented · 4% updated 5d agov4.1.0 · 2026-06-19★ 8752 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

A library to retrieve signing keys from a JWKS (JSON Web Key Set) endpoint.

Release Codecov Ask DeepWiki Downloads License CircleCI

📚 Documentation - 🚀 Getting Started - 💬 Feedback

Documentation

  • Examples - documentation of the options and code samples for common scenarios.
  • Docs Site - explore our Docs site and learn more about Auth0.

Getting Started

Installation

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.

Configure the client

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
});

Retrieve a key

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();

Feedback

Contributing

We appreciate feedback and contribution to this repo! Before you get started, please see the following:

Raise an issue

To provide feedback or report a bug, please raise an issue on our issue tracker.

Vulnerability Reporting

Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.

What is Auth0?

<img alt="Auth0 Logo" src="https://cdn.auth0.com/website/sdks/logos/auth0_light_mode.png" width="150">

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.

Extension points exported contracts — how you extend this code

Headers (Interface)
(no doc)
index.d.ts
OptionsBase (Interface)
(no doc)
index.d.ts
OptionsWithFetcher (Interface)
(no doc)
index.d.ts
OptionsWithUri (Interface)
(no doc)
index.d.ts
JSONWebKey (Interface)
(no doc)
index.d.ts

Core symbols most depended-on inside this repo

getSigningKey
called by 40
src/JwksClient.js
jwksEndpoint
called by 19
tests/mocks/jwks.js
createToken
called by 18
tests/mocks/tokens.js
cb
called by 17
src/integrations/hapi.js
getPublicKey
called by 7
index.d.ts
getSigningKeys
called by 6
src/JwksClient.js
getKeys
called by 5
src/JwksClient.js
retrieveSigningKeys
called by 3
src/utils.js

Shape

Function 24
Class 12
Method 10
Interface 9

Languages

TypeScript100%

Modules by API surface

index.d.ts25 symbols
src/JwksClient.js6 symbols
src/utils.js5 symbols
tests/mocks/tokens.js2 symbols
src/integrations/hapi.js2 symbols
src/integrations/express.js2 symbols
examples/hapi-demo/server.js2 symbols
tests/mocks/jwks.js1 symbols
src/wrappers/rateLimit.js1 symbols
src/wrappers/interceptor.js1 symbols
src/wrappers/callbackSupport.js1 symbols
src/wrappers/cache.js1 symbols

For agents

$ claude mcp add node-jwks-rsa \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page