blob: 4d566f6d30cbf1741e5380e12699c80091972cb9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.
|