{"id":15091516,"url":"https://github.com/hsk81/oas-explorer","last_synced_at":"2025-06-13T05:36:52.049Z","repository":{"id":37191040,"uuid":"169791257","full_name":"hsk81/oas-explorer","owner":"hsk81","description":"API Explorer: UI for OpenApi specs with Auth0 support","archived":false,"fork":false,"pushed_at":"2023-03-04T03:09:01.000Z","size":3447,"stargazers_count":1,"open_issues_count":12,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T02:23:00.010Z","etag":null,"topics":["api","auth0","electron","javascript","oas","oauth2","openapi"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hsk81.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2019-02-08T19:59:21.000Z","updated_at":"2021-04-23T19:17:19.000Z","dependencies_parsed_at":"2024-09-25T10:41:41.345Z","dependency_job_id":"0edce2ce-8cd1-482b-a762-8d88da9a00cf","html_url":"https://github.com/hsk81/oas-explorer","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"9a3492aae4cdbb8295657b19b5503d128a27c802"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsk81%2Foas-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsk81%2Foas-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsk81%2Foas-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsk81%2Foas-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsk81","download_url":"https://codeload.github.com/hsk81/oas-explorer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530575,"owners_count":21119600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","auth0","electron","javascript","oas","oauth2","openapi"],"created_at":"2024-09-25T10:41:32.635Z","updated_at":"2025-04-12T07:11:18.150Z","avatar_url":"https://github.com/hsk81.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OAS API Explorer\n\nA user interface to explore [OpenApi specifications][0] (OAS) with support for OAUTH2 via [Auth0.com][1]. For example:\n\n![Auth0 Login](./assets/images/auth0-login.png)\n![OAS Editor](./assets/images/oas-editor.png)\n\n## Installation\n\n```sh\nnpm install\n```\n\n## Configuration\n\nCopy `settings/000-default.json` to `settings/001-custom.json` and replace all configuration values starting with `${APX_..}` — to fully understand each field consult [#authorize-application][2]. Please note, that multiple configuration files will be merged in lexicographical order.\n\n### Auth0: authentication \u0026 authorization\n\n```javascript\n\"auth0\": {\n```\n\n\u003e your unique ID of the target API you want to access:\n\n```javascript\n    \"api_identifier\": \"${APX_AUTH0_AUDIENCE}\", // e.g. \"https://api.custom.tld/\"\n```\n\n\u003e your application's ID:\n\n```javascript\n    \"client_id\": \"${APX_AUTH0_CLIENT_ID}\", // e.g. \"00000000...00000000\"\n```\n\n\u003e your Auth0 domain:\n\n```javascript\n    \"domain\": \"${APX_AUTH0_DOMAIN}\", // e.g. \"custom.auth0.com\"\n```\n\n\u003e silent (`none`) or explicit (`login`) authentication:\n\n```javascript\n    \"prompt\": \"login\",\n```\n\n\u003e scopes which you want to request authorization for:\n\n```javascript\n    \"scopes\": [\n        // e.g. \"a:scope\", \"another:scope\", \"yet-another:scope\"\n        \"openid\", \"profile\", \"offline_access\", \"${APX_API_SCOPES}\"\n    ],\n```\n\n\u003e URL to which Auth0 will redirect to:\n\n```javascript\n    \"redirect_uri\": \"file:///callback\"\n```\n\n```javascript\n}\n```\n\n### OAS: OpenApi specification\n\n```javascript\n\"oas\": {\n```\n\n\u003e list of allowed API servers (with regex support):\n\n```javascript\n    \"servers\": [\n        // e.g. \"^https://(.+)\\\\.custom\\\\.tld\"\n        \"${APX_OAS_SERVERS}\"\n    ],\n```\n\n\u003e URL to fetch the default OpenApi specification from:\n\n```javascript\n    // e.g. \"https://api.custom.tld/oas/openapi@latest.yaml\"\n    \"url\": \"${APX_OAS_URL}\"\n```\n\n```javascript\n}\n```\n\n## Packaging\n\n```sh\nnpm run make\n```\n\n## Execution\n\n#### debugging:\n\n```sh\nnpm start\n```\n\n#### production:\n\n```sh\n./api-explorer\n```\n\n## CLI Arguments\n\nIt's also possible to provide a configuration file and/or arguments via the command line interface. Further, environment variables are also recognized (where the values need to be JSON encoded). The precedence order is given as:\n\n* CLI arguments, then\n* environment variables, and finally\n* configuration files,\n\nwhere the CLI arguments have the highest precedence, while the configuration files have the least.\n\n#### debugging:\n\n```sh\nAPX_AUTH0_PROMPT='\"login\"' npm run -- start -- --json ./settings/001-custom.json\n```\n\n#### production:\n\n```sh\nAPX_AUTH0_PROMPT='\"login\"' ./api-explorer --json ./resources/app/settings/001-custom.json\n```\n\nwhere the location of the `*.json` configuration can be anywhere, and is not just restricted to the path shown above, and further where each (even nested) configuration entry can be separately defined as well, for example:\n\n#### debugging:\n\n```sh\nnpm run -- start -- --json ./settings/001-custom.json \\\n    --auth0.scopes=openid profile offline_access \\\n    --auth0.scopes=get:my-scope post:my-scope \\\n    --oas.servers=\"^https://(.+).custom.tld\" \\\n    --oas.servers=\"^http://localhost:8000\"\n```\n\n#### production:\n\n```sh\n./api-explorer --json ./resources/app/settings/001-custom.json \\\n    --auth0.scopes=openid profile offline_access \\\n    --auth0.scopes=get:my-scope post:my-scope \\\n    --oas.servers=\"^https://(.+).custom.tld\" \\\n    --oas.servers=\"^http://localhost:8000\"\n```\n\n## FAQ\n\n### Why do I get an `invalid token error`?\n\nThis might be due to a left-over (access) token, which has not been removed correctly. Simply delete the corresponding `AUTH0_DOMAIN` folder in your temporary directory, e.g. on Linux for `AUTH0_DOMAIN` `=` `custom.auth0.com` run:\n\n```sh\nrm /tmp/custom.auth0.com/ -r\n```\n\n[0]: https://www.openapis.org\n[1]: https://auth0.com\n[2]: https://auth0.com/docs/api/authentication#authorize-application\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsk81%2Foas-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsk81%2Foas-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsk81%2Foas-explorer/lists"}