This demo app consists of following three components:
- Authorization ... OAuth2/OIDC Authorization Server. Using Spring Authorization Server.
- Todo API ... OAuth2 Resource Server. Provides REST API. Using Spring Security's OAuth2 Resource Server.
- Todo Frontend ... Web UI (React) backed by Spring Security's OAuth2 Login + OAuth 2.0 Client.
Java 21+ and docker are required.
./mvnw spring-boot:run -f authorization -Dspring-boot.run.arguments="--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml"
./mvnw spring-boot:run -f todo-api -Dspring-boot.run.arguments="--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml"
./mvnw spring-boot:run -f todo-frontend -Dspring-boot.run.arguments="--spring.docker.compose.enabled=true --spring.docker.compose.file=$(pwd)/compose.yaml"
Visit http://localhost:8080 (todo-frontend). The first time you visit, you will be redirected to http://127.0.0.1:9000 (authorization).
- Username:
john@example.com
- Password:
password
Feel free to add new Todos or complete them.
You can see the tracing via Zipkin (http://localhost:9411)
Docker 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.
pkill -TERM java
docker compose down