{"id":17668573,"url":"https://github.com/evanshortiss/rhoam-openid-connect-examples","last_synced_at":"2025-03-30T13:23:14.235Z","repository":{"id":66153964,"uuid":"392388655","full_name":"evanshortiss/rhoam-openid-connect-examples","owner":"evanshortiss","description":"Example OpenID Connect integrations between applications and Red Hat OpenShift API Management","archived":false,"fork":false,"pushed_at":"2021-08-18T14:07:16.000Z","size":240,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T15:13:50.140Z","etag":null,"topics":["authentication","keycloak","oauth","openid-connect"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/evanshortiss.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}},"created_at":"2021-08-03T16:51:53.000Z","updated_at":"2021-08-18T14:07:20.000Z","dependencies_parsed_at":"2023-07-02T00:01:28.152Z","dependency_job_id":null,"html_url":"https://github.com/evanshortiss/rhoam-openid-connect-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanshortiss%2Frhoam-openid-connect-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanshortiss%2Frhoam-openid-connect-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanshortiss%2Frhoam-openid-connect-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanshortiss%2Frhoam-openid-connect-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evanshortiss","download_url":"https://codeload.github.com/evanshortiss/rhoam-openid-connect-examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246321412,"owners_count":20758636,"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":["authentication","keycloak","oauth","openid-connect"],"created_at":"2024-10-23T23:23:07.706Z","updated_at":"2025-03-30T13:23:14.215Z","avatar_url":"https://github.com/evanshortiss.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 3scale and Keycloak Server-Side OIDC Examples\n\nThis repository contains two applications. Each is designed to use an API\nexposed by 3scale API Management. Requests to the API are authenticated using\nOpenID Connect integration between 3scale and Keycloak.\n\n## Requirements\n\n* Node.js v14.x\n* npm 6.x\n* Red Hat 3scale API Management (2.10 tested)\n* Red Hat Single Sign-On (7.4 tested)\n* Deployed the [Products API](https://github.com/btison/products-api) and protected it using 3scale and SSO OIDC integration.\n\n\n## Application #1: Client-Side WebApp\n\nThis is a single-page web application written using React and TypeScript. It\nuses the Keycloak JavaScript adapter to connect to a public Keycloak Client\nand authenticate the user. A JWT format Bearer token is returned to the web\napplication after successful user authentication.\n\n3scale uses the same Keycloak Client to authenticate requests to the API that\nthe web application uses. This means the client can include an OAuth 2.0 Bearer\ntoken in their XHR API requests to make authenticated requests to the 3scale\nAPI endpoint(s).\n\n## Application #2: Server-Side Web Application\n\nThis is a traditional website-style application that renders HTML on the server\nand returns it to the browser. It uses the [Keycloak Node.js](https://github.com/keycloak/keycloak-nodejs-connect)\nadapater to integrate with Keycloak and authenticate users. A JWT format Bearer\ntoken is returned to the web server via a callback URL after successful\nend-user authentication.\n\n3scale uses the same Keycloak Client to authenticate requests to the API that\nthe web server uses to authenticate users. This means the web server can\ninclude the OAuth 2.0 Bearer token associated with the user's session to make\nauthenticated requests to the 3scale API endpoint(s) on behalf of the user.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanshortiss%2Frhoam-openid-connect-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevanshortiss%2Frhoam-openid-connect-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanshortiss%2Frhoam-openid-connect-examples/lists"}