summaryrefslogtreecommitdiff
path: root/microservices/README
diff options
context:
space:
mode:
authorKamal Wickramanayake <kamal@inbox.lk>2026-07-03 19:02:36 +0530
committerKamal Wickramanayake <kamal@inbox.lk>2026-07-03 19:02:36 +0530
commitaa122113ade36f02dc8fdbebdf1232b5c4b8742c (patch)
treec345b83db6c769bf5e72a09e3f19d43431961695 /microservices/README
parentb221a83ecef1dd7f9583d5107017d24e668205a6 (diff)
Microservice sample projects
Diffstat (limited to 'microservices/README')
-rw-r--r--microservices/README35
1 files changed, 35 insertions, 0 deletions
diff --git a/microservices/README b/microservices/README
new file mode 100644
index 0000000..4d566f6
--- /dev/null
+++ b/microservices/README
@@ -0,0 +1,35 @@
+This is an advanced microservices project that includes the following:
+
+ - An OAuth2 server to authenticate and authorize users.
+ Key software used: Spring Authorization server
+
+ - An API gateway that implements the Backend for Frontend (BFF) application architecture.
+ Key software used: Spring Cloud API Gateway (Webflux)
+
+ - An OAuth2 resource server that expose REST services.
+
+ - A React.js frontend application that interacts with the API gateway.
+
+References:
+
+ - The pattern used in this application is detailed here.
+ https://www.baeldung.com/spring-cloud-gateway-bff-oauth2
+
+ - Details about Backend for Frontend application architecture
+ https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps#name-application-architecture-pa
+
+ - OAuth2 authorization framework
+ https://datatracker.ietf.org/doc/html/rfc6749
+
+ - OpenID
+ https://openid.net/
+
+Ports used:
+
+ 8050 - API gateway
+ 8051 - OAuth2 server
+ 8052 - Resource server
+
+URLs used:
+
+Both the API gateway and the OAuth2 server are accessed by the web browser and for each of them, a session is maintained. To avoid API gateway session data being sent to the OAuth2 server while a developer runs both servers locally, they are accessed via http://localhost and http://127.0.0.1 respectively.