@simulacrum/auth0-simulator
Version:
Run local instance of Auth0 API for local development and integration testing
1 lines • 1.74 kB
Source Map (JSON)
{"version":3,"file":"openid-handlers.mjs","names":[],"sources":["../../src/handlers/openid-handlers.ts"],"sourcesContent":["import type { Request, RequestHandler } from \"express\";\nimport { JWKS } from \"../auth/constants.ts\";\nimport { removeTrailingSlash } from \"./url.ts\";\n\ntype Routes = \"/jwks.json\" | \"/openid-configuration\";\n\nexport type OpenIdRoutes = `${`/.well-known`}${Routes}`;\n\nexport interface OpenIdConfiguration {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n userinfo_endpoint: string;\n jwks_uri: string;\n}\n\nexport const createOpenIdHandlers = (\n serviceURL: (request: Request) => string\n): Record<OpenIdRoutes, RequestHandler> => {\n return {\n [\"/.well-known/jwks.json\"]: function (_, res) {\n res.status(200).json(JWKS);\n },\n\n [\"/.well-known/openid-configuration\"]: function (req, res) {\n let url = removeTrailingSlash(serviceURL(req));\n\n res.status(200).json({\n issuer: `${url}/`,\n authorization_endpoint: [url, \"authorize\"].join(\"/\"),\n token_endpoint: [url, \"oauth\", \"token\"].join(\"/\"),\n userinfo_endpoint: [url, \"userinfo\"].join(\"/\"),\n jwks_uri: [url, \".well-known\", \"jwks.json\"].join(\"/\"),\n });\n },\n };\n};\n"],"mappings":";;;;AAgBA,MAAa,wBACX,eACyC;AACzC,QAAO;EACL,CAAC,2BAA2B,SAAU,GAAG,KAAK;AAC5C,OAAI,OAAO,IAAI,CAAC,KAAK,KAAK;;EAG5B,CAAC,sCAAsC,SAAU,KAAK,KAAK;GACzD,IAAI,MAAM,oBAAoB,WAAW,IAAI,CAAC;AAE9C,OAAI,OAAO,IAAI,CAAC,KAAK;IACnB,QAAQ,GAAG,IAAI;IACf,wBAAwB,CAAC,KAAK,YAAY,CAAC,KAAK,IAAI;IACpD,gBAAgB;KAAC;KAAK;KAAS;KAAQ,CAAC,KAAK,IAAI;IACjD,mBAAmB,CAAC,KAAK,WAAW,CAAC,KAAK,IAAI;IAC9C,UAAU;KAAC;KAAK;KAAe;KAAY,CAAC,KAAK,IAAI;IACtD,CAAC;;EAEL"}