{"id":23066959,"url":"https://github.com/dvsa/mes-custom-authorizer","last_synced_at":"2026-02-17T17:06:37.753Z","repository":{"id":38598614,"uuid":"167031982","full_name":"dvsa/mes-custom-authorizer","owner":"dvsa","description":"DVSA Mobile Examiner Services - Authorization for access to microservices","archived":false,"fork":false,"pushed_at":"2025-11-02T09:28:35.000Z","size":6311,"stargazers_count":1,"open_issues_count":6,"forks_count":1,"subscribers_count":8,"default_branch":"develop","last_synced_at":"2025-11-02T11:26:52.145Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-22T16:56:03.000Z","updated_at":"2025-10-07T09:38:07.000Z","dependencies_parsed_at":"2025-05-27T14:25:43.875Z","dependency_job_id":"8e5683fa-4b99-43c1-ba5f-610c84a958bc","html_url":"https://github.com/dvsa/mes-custom-authorizer","commit_stats":null,"previous_names":[],"tags_count":269,"template":false,"template_full_name":null,"purl":"pkg:github/dvsa/mes-custom-authorizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fmes-custom-authorizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fmes-custom-authorizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fmes-custom-authorizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fmes-custom-authorizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvsa","download_url":"https://codeload.github.com/dvsa/mes-custom-authorizer/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvsa%2Fmes-custom-authorizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28915942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T05:15:40.913Z","updated_at":"2026-01-30T17:08:51.671Z","avatar_url":"https://github.com/dvsa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mes-custom-authorizer\n\nA serverless project to house the authorization code for access to MES microservices.\n\n## Dependencies\n\nDVSA dependencies have been moved from npm to github so in order to install/update any private @DVSA packages\nyou are required to have an entry in your global `~/.npmrc` file as follows:\n\n```shell\n//npm.pkg.github.com/:_authToken=\u003cyour auth token here\u003e\n```\n\n## Structure\n\nAll serverless functions live in dedicated directories in `src/functions`.\nCode that is common between multiple functions should reside in `src/common`.\n\nAs per the principles of Hexagonal Architecture, each function has the following directories to help us separate concerns:\n\n* `framework` - contains all Inbound and Outbound Adapters, and all use of external/proprietary APIs - depends upon...\n* `application` - contains all Inbound and Outbound Ports, doesn't use any external/proprietary APIs - depends upon...\n* `domain` - contains all domain objects (Aggregates, Objects, Value classes etc) with all \"business logic\" (not just anaemic data holders), doesn't use any external/proprietary APIs.\n\n## Build\n\nTo build a zip file for every function to `build/artifacts`, run:\n\n```shell\nnpm run package\n```\n\nTo build a subset of the functions, pass a comma separated list of function names, like so:\n\n```shell\nnpm run package -- get,set\n```\n\nN.b. The build requires [jq](https://github.com/stedolan/jq).\n\n## Test\n\nTo run the unit tests, simply run:\n\n```shell\nnpm test\n```\n\n## Debugging / tracing the `jwks-rsa` package and specifically the `jwksClient`\n\nThe `jwksClient` provides the ability to retrieve and cache RSA public keys from the specified\nJWKS (JSON Web Key Set) endpoint.\n\nIn order to prevent a call to be made each time a signing key needs to be retrieved the\n`jwksClient` has been configured to cache as follows.  If a signing key matching the kid is found,\nthis will be cached and the next time this kid is requested the signing key will be served from\nthe cache instead of calling back to the JWKS endpoint.\n\nTo get trace logs of what the `jwksClient` is doing internally, and how often it is making\nrequests to the JWKS endpoint, we can enable debugging for just the library by setting the\n`DEBUG` envrionment variable to include the value `jwks`.\n\nFor example:\n\n```\n$ DEBUG=jwks node ./local-test.js eyJ0eXAiOi...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvsa%2Fmes-custom-authorizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvsa%2Fmes-custom-authorizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvsa%2Fmes-custom-authorizer/lists"}