{"id":21493055,"url":"https://github.com/eukolos/gateway-keycloak","last_synced_at":"2026-04-19T19:33:43.087Z","repository":{"id":135414675,"uuid":"582013199","full_name":"Eukolos/gateway-keycloak","owner":"Eukolos","description":"Gateway Keycloak Example","archived":false,"fork":false,"pushed_at":"2022-12-26T09:28:39.000Z","size":116,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T11:50:33.517Z","etag":null,"topics":["docker","java","keycloak","oauth2","spring","spring-boot-3-0-1","spring-cloud-eureka","spring-cloud-gateway","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Eukolos.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":"2022-12-25T09:56:13.000Z","updated_at":"2023-01-04T07:52:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"314891c4-5d69-4fc0-a45a-7d316df856b1","html_url":"https://github.com/Eukolos/gateway-keycloak","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Eukolos/gateway-keycloak","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fgateway-keycloak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fgateway-keycloak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fgateway-keycloak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fgateway-keycloak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eukolos","download_url":"https://codeload.github.com/Eukolos/gateway-keycloak/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fgateway-keycloak/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32020695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":["docker","java","keycloak","oauth2","spring","spring-boot-3-0-1","spring-cloud-eureka","spring-cloud-gateway","spring-security"],"created_at":"2024-11-23T15:37:01.923Z","updated_at":"2026-04-19T19:33:43.066Z","avatar_url":"https://github.com/Eukolos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"86 lines (67 sloc)  1.69 KB\n## Keycloak Gateway \n### Spring Boot 3 - GraalVM\n\n\u003cimg src=\"image/gateway-keycloak-plan.jpg\" alt=\"App Plan\" width=\"500\" /\u003e\n\n## 🔨 Run the App\n\n#### Maven\n\n\u003cb\u003e1 )\u003c/b\u003e Download your project from this link shown below\n```\n    git clone https://github.com/Eukolos/gateway-keycloak.git\n```\n\n\u003cb\u003e2 )\u003c/b\u003e Go to the project's home directory shown below\n```\n    cd gateway-keycloak\n    \n```\n\n\u003cb\u003e3 )\u003c/b\u003e Run Keycloak and Databases\n```\n    docker-compose up\n```\n\n\u003cb\u003e4 )\u003c/b\u003e Run services\n```\n    cd eureka-server\n    \n    mvn spring-boot:run\n    \n    cd product-service\n    \n    mvn spring-boot:run\n    \n    cd gateway\n    \n    mvn spring-boot:run\n    \n```\n### A few keycloak configuration after we can test endpoints\n\n[We can make native image this services thanx to graalvm.](https://github.com/Eukolos/spring-boot-3-example/)\n\n### Used Dependencies\n* Core\n    * Spring\n        * Spring Boot 3\n        * Spring Web\n        * Spring Security\n        * Oauth 2.0\n* Keycloak\n* MongoDB\n* Postgesql\n* Docker\n* GraalVM CE Java 17-22.3.0\n\n### Login with Keycloak UI\n\n```\n\nGET /v1/product\nAccept: application/HTTP\nContent-Type: application/HTTP\nUser-Agent: Chrome/108.0.0.0\n{\n\"username\" : \"my_user\",\n\"password\" : \"password\",\n}\nRESPONSE: HTTP 200 (OK)\nLocation header: http://localhost:8889/v1/product\n```\n\n### Create a Product\n\n```\nPOST /v1/product\nAccept: application/json\nContent-Type: application/json\n{\n\"name\" : \"ROD\",\n\"price\" : 5.0,\n\"amount\" : 2.0,\n\"oemList\" : [\n        \"15j2h15k215kjkjk52\",\n        \"21321ewqe321j213as\"\n ]\n}\nRESPONSE: HTTP 201 (CREATED)\nLocation header: http://localhost:8889/v1/product\n```\n\n### Get Procut List\n\n```\nGET /v1/product\nAccept: application/json\nContent-Type: application/json\n{\n}\nRESPONSE: HTTP 200 (OK)\nContent: ProductDto\nLocation header: http://localhost:8889/v1/product\n```\n\n### Get Product By Id\n\n```\nGET /v1/product/{id}\nAccept: application/json\nContent-Type: application/json\n{\n}\nRESPONSE: HTTP 200 (OK)\nContent: ProductDto\nLocation header: http://localhost:8889/v1/product/{id}\n```\n\n### Get Product By Oem\n\n```\nGET /v1/product/oem/{oem}\nAccept: application/json\nContent-Type: application/json\n{\n}\nRESPONSE: HTTP 200 (OK)\nContent: ProductDto\nLocation header: http://localhost:8889/v1/product/oem/{oem}\n```\n\n### Delete Product By Id\n\n```\nGET /v1/product/{id}\nAccept: application/json\nContent-Type: application/json\n{\n}\nRESPONSE: HTTP 200 (OK)\nContent: boolean\nLocation header: http://localhost:8889/v1/product/{id}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feukolos%2Fgateway-keycloak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feukolos%2Fgateway-keycloak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feukolos%2Fgateway-keycloak/lists"}