{"id":19791732,"url":"https://github.com/making/oauth2-sso-demo","last_synced_at":"2025-09-05T16:08:46.679Z","repository":{"id":46590696,"uuid":"58812625","full_name":"making/oauth2-sso-demo","owner":"making","description":"OIDC SSO Demo with Spring Boot + Spring Security","archived":false,"fork":false,"pushed_at":"2025-07-23T23:57:22.000Z","size":28964,"stargazers_count":400,"open_issues_count":1,"forks_count":186,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-07-24T02:14:58.642Z","etag":null,"topics":[],"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/making.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,"zenodo":null}},"created_at":"2016-05-14T14:37:31.000Z","updated_at":"2025-07-23T23:49:50.000Z","dependencies_parsed_at":"2024-12-14T18:02:50.056Z","dependency_job_id":"d6f4030e-50b7-4995-ae3a-34d0e9e4e7db","html_url":"https://github.com/making/oauth2-sso-demo","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.05882352941176472,"last_synced_commit":"b723407610920d6cb99d9c1125c4bf1d962bbf5e"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/making/oauth2-sso-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Foauth2-sso-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Foauth2-sso-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Foauth2-sso-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Foauth2-sso-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/making","download_url":"https://codeload.github.com/making/oauth2-sso-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Foauth2-sso-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273782436,"owners_count":25167130,"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-09-05T02:00:09.113Z","response_time":402,"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":[],"created_at":"2024-11-12T07:04:40.982Z","updated_at":"2025-09-05T16:08:46.652Z","avatar_url":"https://github.com/making.png","language":"Java","funding_links":[],"categories":["企业软件开发"],"sub_categories":["文件同步"],"readme":"# OAuth2/OIDC SSO Demo with Spring Boot + Spring Security\n\nThis demo app consists of following three components:\n\n* [Authorization](authorization) ... OAuth2/OIDC Authorization Server. Using [Spring Authorization Server](https://docs.spring.io/spring-authorization-server/reference/index.html).\n* [Todo API](todo-api) ... OAuth2 Resource Server. Provides REST API. Using [Spring Security's OAuth2 Resource Server](https://docs.spring.io/spring-security/reference/6.4/servlet/oauth2/resource-server/index.html).\n* [Todo Frontend](todo-frontend) ... Web UI (React + Spring MVC) backed by [Spring Security's OAuth2 Login](https://docs.spring.io/spring-security/reference/6.4/servlet/oauth2/login/index.html) + [OAuth 2.0 Client](https://docs.spring.io/spring-security/reference/6.4/servlet/oauth2/client/index.html).\n* [Todo Frontend WebFlux](todo-frontend) ... Web UI (React + Spring WebFlux) backed by [Spring Security's OAuth2 Login](https://docs.spring.io/spring-security/reference/6.4/reactive/oauth2/login/index.html) + [OAuth 2.0 Client](https://docs.spring.io/spring-security/reference/6.4/reactive/oauth2/client/index.html).\n\n## How to run\n\nJava 21+ and docker are required.\n\n```\n./mvnw spring-boot:run -f authorization -Dspring-boot.run.arguments=\"--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml\"\n./mvnw spring-boot:run -f todo-api -Dspring-boot.run.arguments=\"--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml\"\n./mvnw spring-boot:run -f todo-frontend -Dspring-boot.run.arguments=\"--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml\"\nor\n./mvnw spring-boot:run -f todo-frontend-webflux -Dspring-boot.run.arguments=\"--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml\"\n```\n\nVisit http://localhost:8080 (todo-frontend). The first time you visit, you will be redirected to http://127.0.0.1:9000 (authorization).\n\n\u003cimg width=\"1024\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/047a501b-6a76-4a8e-8706-7bd5e016c54e\" /\u003e\n\n* Username: `john@example.com`\n* Password: `password`\n\n\u003cimg width=\"1024\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3a5bd8ec-6904-40cb-bea3-f03b164c68f0\" /\u003e\n\nFeel free to add new Todos or complete them.\n\n\u003cimg width=\"1024\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/9bae2e0c-e8a8-4f64-b4c4-b852f7561b12\" /\u003e\n\nYou can see the tracing via Zipkin (http://localhost:9411)\n\n\u003cimg width=\"1024\" alt=\"image\" src=\"https://github.com/user-attachments/assets/1cdfaec6-affe-4baf-aec2-6592c8716e3f\"\u003e\n\u003cimg width=\"1024\" alt=\"image\" src=\"https://github.com/user-attachments/assets/4a0b15e5-a89f-4010-bac7-3f877208c83d\"\u003e\n\nDocker Compose will automatically start up when the app is started, but it will not automatically shut down, so if you do not need Zipkin after stopping the app, please shut down Docker Compose as well.\n\n```\npkill -TERM java\ndocker compose down\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaking%2Foauth2-sso-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaking%2Foauth2-sso-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaking%2Foauth2-sso-demo/lists"}