{"id":21722059,"url":"https://github.com/ilert/sample-oauth2-app","last_synced_at":"2026-04-25T11:35:53.672Z","repository":{"id":104900003,"uuid":"447673863","full_name":"iLert/sample-oauth2-app","owner":"iLert","description":"This is a demo app showcasing the iLert developer platform and compliments our guides.","archived":false,"fork":false,"pushed_at":"2022-02-02T10:48:06.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T02:12:12.554Z","etag":null,"topics":["app","authorization","native","oauth2","pkce","spa"],"latest_commit_sha":null,"homepage":"https://docs.ilert.com/rest-api/developing-ilert-apps","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iLert.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":"2022-01-13T16:36:36.000Z","updated_at":"2022-02-02T10:48:08.000Z","dependencies_parsed_at":"2023-06-25T23:50:28.537Z","dependency_job_id":null,"html_url":"https://github.com/iLert/sample-oauth2-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iLert/sample-oauth2-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLert%2Fsample-oauth2-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLert%2Fsample-oauth2-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLert%2Fsample-oauth2-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLert%2Fsample-oauth2-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iLert","download_url":"https://codeload.github.com/iLert/sample-oauth2-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLert%2Fsample-oauth2-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["app","authorization","native","oauth2","pkce","spa"],"created_at":"2024-11-26T02:20:49.055Z","updated_at":"2026-04-25T11:35:53.643Z","avatar_url":"https://github.com/iLert.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iLert Sample OAuth2 App\n\nThis repository showcases 3 potential ways to implement an OAuth2 authorization flow\nwith the iLert OAuth 2.0 Authorization Server.\n\nVisit [the iLert docs](https://docs.ilert.com/rest-api/developing-ilert-apps) to learn more.\n\n## Running the Sample App\n\n- requires Node.js \u003e v14\n- `npm install`\n- create an iLert application, set your redirect url to either `http://localhost:4597/authorize-result` or `http://localhost:4597/webapp`\n- update `/config/default.js` with your apps credentials #L5,#L6\n- update `/public/sample-app.html` with your apps client id #L59\n- `npm start`\n- visit your browser under `http://localhost:4597`\n- choose your flow (opening the path will start it)\n- an iLert user account is needed to authorize\n\n## Authorization Flows\n\n### 1 Authorization Code Flow\n\nThe de-facto industry standard, relying on the fact that the `client_secret` is kept secure and is not exposed publicly. See flow in sample app under `/authorize`.\n\n\n### 2 Authorization Code Flow with Proof Key for Code Exchange (PKCE)\n\nBased on the authorization code flow an additional code verifier is created on the requesting side,\nhashed and passed as challenge to the authorization server. When requesting the token for the code,\nthe verifier is passed again in plaintext and adds additional validition, ensuring that the token request\nis coming from the same context as the initial authorization. See flow in sample app under `/authorize?pkce=1`.\n\n\n### 3 Native / Web-App Authorization Code Flow with Proof Key for Code Exchange (PKCE)\n\nThe authorization code flow using PKCE, might be used in native or web apps that cannot use a `client_secret`\nas they would expose it. See flow in sample app under `/webapp`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filert%2Fsample-oauth2-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filert%2Fsample-oauth2-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filert%2Fsample-oauth2-app/lists"}