26 lines
744 B
JavaScript
26 lines
744 B
JavaScript
const jwt = require('express-jwt')
|
|
const jwksRsa = require('jwks-rsa')
|
|
|
|
// Authentication middleware. When used, the
|
|
// if the access token exists, it be verified against
|
|
// the Auth0 JSON Web Key Set
|
|
const checkJwt = jwt({
|
|
// Dynamically provide a signing key
|
|
// based on the kid in the header and
|
|
// the signing keys provided by the JWKS endpoint.
|
|
secret: jwksRsa.expressJwtSecret({
|
|
cache: true,
|
|
rateLimit: true,
|
|
jwksRequestsPerMinute: 1,
|
|
jwksUri: `https://${process.env.AUTH0_DOMAIN}/.well-known/jwks.json`
|
|
}),
|
|
|
|
// Validate the audience and the issuer.
|
|
credentialsRequired: false,
|
|
audience: process.env.AUTH0_AUDIENCE,
|
|
issuer: process.env.AUTH0_ISSUER,
|
|
algorithms: [`RS256`]
|
|
})
|
|
|
|
module.exports = checkJwt
|