{"id":22009713,"url":"https://github.com/zitadel/zitadel-java","last_synced_at":"2025-05-06T18:18:00.391Z","repository":{"id":103222627,"uuid":"569652027","full_name":"zitadel/zitadel-java","owner":"zitadel","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-01T07:18:34.000Z","size":629,"stargazers_count":21,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-06T18:17:56.788Z","etag":null,"topics":["examples","java","zitadel"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zitadel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-11-23T10:09:39.000Z","updated_at":"2025-04-01T16:20:05.000Z","dependencies_parsed_at":"2024-01-15T14:03:40.400Z","dependency_job_id":"28cdbf9f-2a73-4564-9fed-eb461bf3ed99","html_url":"https://github.com/zitadel/zitadel-java","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/zitadel%2Fzitadel-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zitadel%2Fzitadel-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zitadel%2Fzitadel-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zitadel%2Fzitadel-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zitadel","download_url":"https://codeload.github.com/zitadel/zitadel-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252741483,"owners_count":21797030,"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":["examples","java","zitadel"],"created_at":"2024-11-30T02:10:32.828Z","updated_at":"2025-05-06T18:18:00.352Z","avatar_url":"https://github.com/zitadel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ZITADEL Example Project with Spring Boot and Spring Security\n\nThis example contains two Spring Boot Apps (_api_ and _app_) which use the [ZITADEL](https://zitadel.com/) SaaS identity provider as OpenID Provider.\n\n- The app _web_ uses the internal OAuth2 access token (opaque token) provided by ZITADEL to access the _api_.\n- The _api_ acts as an OAuth2 resource server.\n\n# Features\n\n- OpenID Connect based Login\n- Logout support via OpenID Connect end session endpoint\n- Access Token Relay\n- Opaque Reference Tokens and Token Introspection\n\n# Applications\n\nTo run the example you need to configure the applications in ZITADEL and provide the generated properties.\nPlease check out the full guides ([web](https://zitadel.com/docs/examples/login/java-spring) and [api](https://zitadel.com/docs/examples/secure-api/java-spring)) on this example as well.\n\n## API\n\nThe Spring Boot app _api_ is configured as an API in ZITADEL and uses the Spring Security Resource Server support.\n\nBase URL: http://localhost:18090\n\n## Web\n\nThe Spring Boot app _web_ is configured as confidential Web App and OpenID Connect client in ZITADEL and uses the Spring Security OAuth2 client library\nfor authentication.\n\nBase URL: `http://localhost:18080/webapp`\n\nRedirect URI:\n```\nhttp://localhost:18080/webapp/login/oauth2/code/zitadel\n```\n\nPost Logout URL:\n```\nhttp://localhost:18080/webapp\n```\n\n# Build\n\n```\nmvn clean package -DskipTests\n```\n\n# Run\n\nThe _api_ application requires the following JVM Properties to be configured:\n```bash\n# Run the api application in one terminal\njava \\\n  -Dspring.security.oauth2.resourceserver.opaquetoken.introspection-uri=\u003csee configuration above\u003e \\\n  -Dspring.security.oauth2.resourceserver.opaquetoken.client-id=\u003csee configuration above\u003e \\\n  -Dspring.security.oauth2.resourceserver.opaquetoken.client-secret=\u003csee configuration above\u003e \\\n  -jar api/target/api-0.0.2-SNAPSHOT.jar\n```\n\nThe _web_ application requires the following JVM Properties to be configured:\n```bash\n# Run the web application in another terminal\njava \\\n  -Dspring.security.oauth2.client.provider.zitadel.issuer-uri=\u003csee configuration above\u003e \\\n  -Dspring.security.oauth2.client.registration.zitadel.client-id=\u003csee configuration above\u003e \\\n  -jar web/target/web-0.0.2-SNAPSHOT.jar\n```\n\nOpen your browser and navigate to http://localhost:18080/webapp/\n\n# Misc\n\n- This example uses opaque reference tokens as access tokens\n- For the sake of simplicity CSRF protection and https are disabled\n- Note in order to allow `http://` URIs we need to enable the `development mode in the respective client configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzitadel%2Fzitadel-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzitadel%2Fzitadel-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzitadel%2Fzitadel-java/lists"}