{"id":24527962,"url":"https://github.com/austincunningham/keycloak-express","last_synced_at":"2025-08-29T13:26:50.255Z","repository":{"id":42663599,"uuid":"87820544","full_name":"austincunningham/keycloak-express","owner":"austincunningham","description":":unlock: Express App that uses Keycloak to secure API endpoints","archived":false,"fork":false,"pushed_at":"2022-12-14T01:14:00.000Z","size":185,"stargazers_count":23,"open_issues_count":7,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T16:00:02.016Z","etag":null,"topics":["expressjs","keycloak","nodejs"],"latest_commit_sha":null,"homepage":"https://austincunningham.ddns.net/2017/keycloakexpress","language":"Handlebars","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/austincunningham.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}},"created_at":"2017-04-10T14:27:54.000Z","updated_at":"2024-03-16T19:55:27.000Z","dependencies_parsed_at":"2023-01-28T16:01:15.679Z","dependency_job_id":null,"html_url":"https://github.com/austincunningham/keycloak-express","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/austincunningham/keycloak-express","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austincunningham%2Fkeycloak-express","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austincunningham%2Fkeycloak-express/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austincunningham%2Fkeycloak-express/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austincunningham%2Fkeycloak-express/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austincunningham","download_url":"https://codeload.github.com/austincunningham/keycloak-express/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austincunningham%2Fkeycloak-express/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272691924,"owners_count":24977244,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["expressjs","keycloak","nodejs"],"created_at":"2025-01-22T06:33:27.940Z","updated_at":"2025-08-29T13:26:50.223Z","avatar_url":"https://github.com/austincunningham.png","language":"Handlebars","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Keycloak-Express\n\n## About\nThis is a Node js Express app that uses Keycloak to protect the /test route, \nLogin and user setup are controlled by keycloak. The default route / is unprotected. \nThe /logout route kills the keycloak session. See the following [blog](https://codeburst.io/keycloak-and-express-7c71693d507a)\nfor steps to setup the Keycloak server\n\n## Demo Video\n\n[![ScreenShot](./keycloak-setup.jpg)](https://youtu.be/VAzI7f3pxec)\n\n### Installation\n\nclone the repo and run **npm install**\n\n### Dependancies \n- Keycloak\n- Node\n- express\n- npm \n\n### Requirements \nNeed to have a Keycloak server up and running\n\nDownload Keycloak at \n\nhttp://www.keycloak.org/downloads.html\n\nSetup Keycloak as outline at \n\nwww.keycloak.org/docs/latest/getting_started/index.html\n\nSetup a Realm\nhttp://www.keycloak.org/docs/latest/getting_started/index.html#creating-a-realm-and-user\n\nSetup a Open ID Connect Client\nhttp://www.keycloak.org/docs/latest/server_admin/index.html#_clients\n\nTo use the Node.js adapter, first you must create a client for your application in the Keycloak Administration Console. The adapter supports public, confidential, and bearer-only access type. Which one to choose depends on the use-case scenario.\n\nOnce the client is created click the Installation tab, select Keycloak OIDC JSON for Format Option, and then click Download. The downloaded keycloak.json file should be at the root folder of your project.\nSee \nhttp://www.keycloak.org/docs/latest/securing_apps/index.html#_nodejs_adapter","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustincunningham%2Fkeycloak-express","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustincunningham%2Fkeycloak-express","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustincunningham%2Fkeycloak-express/lists"}