Skip to content

Instantly share code, notes, and snippets.

@imroca
Last active November 7, 2025 17:40
Show Gist options
  • Select an option

  • Save imroca/46418d307125d3007fecd29c798920a1 to your computer and use it in GitHub Desktop.

Select an option

Save imroca/46418d307125d3007fecd29c798920a1 to your computer and use it in GitHub Desktop.
Validate Auth0 id_token
import jwt from "jsonwebtoken";
import jwksClient from "jwks-rsa";
const idToken = "<idtoken>";
const decoded = jwt.decode(idToken, { complete: true }) as any;
const { kid } = decoded.header;
const { iss } = decoded.payload;
const response = await fetch(
`${iss}/.well-known/openid-configuration`
);
const { jwks_uri } = await response.json();
var client = jwksClient({
jwksUri: jwks_uri,
requestHeaders: {
"user-agent": "example-agent/0.0.1 (https://example.com)",
},
});
const key = await client.getSigningKey(kid);
const signingKey = key.getPublicKey();
const verified = jwt.verify(idToken, signingKey);
console.log(verified);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment