From aa122113ade36f02dc8fdbebdf1232b5c4b8742c Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Fri, 3 Jul 2026 19:02:36 +0530 Subject: Microservice sample projects --- microservices/README | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 microservices/README (limited to 'microservices/README') 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. -- cgit v1.2.3