@apolitical/server
Version:
Node.js module to encapsulate Apolitical's express server setup
20 lines (18 loc) • 552 B
JavaScript
;
module.exports = ({ expressJwt: { expressjwt: jwt }, jwksRsa, config }) => {
const { CACHE, RATE_LIMIT, RPM, URI, ALGORITHMS } = config.JWT.AUTH0;
// Define express JWT authentication (Auth0)
return function handler({ domain, audience, issuer }) {
return jwt({
secret: jwksRsa.expressJwtSecret({
cache: CACHE,
rateLimit: RATE_LIMIT,
jwksRequestsPerMinute: RPM,
jwksUri: URI.replace('{DOMAIN}', domain),
}),
audience,
issuer,
algorithms: ALGORITHMS,
});
};
};