You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ High-level plan is represented in the table
70
70
| Feature | Status |
71
71
|-------------------| -------------- |
72
72
| API Gateway | Completed ✔️ |
73
-
|Identity Service | Completed ✔️ |
73
+
|Keycloak Service | Completed ✔️ |
74
74
| Flight Service | Completed ✔️ |
75
75
| Passenger Service | Completed ✔️ |
76
76
| Booking Service | Completed ✔️ |
@@ -102,7 +102,7 @@ High-level plan is represented in the table
102
102
103
103
## The Domain And Bounded Context - Service Boundary
104
104
105
-
-`Identity Service`: The Keycloak Service is a identity provider for the authentication and authorization of users using [Keycloak](https://github.com/keycloak/keycloak). This service is responsible for creating new users and their corresponding roles permissions and handeling authentication and authorization with OpenID-Connect and OAuth2.
105
+
-`Keycloak Service`: The Keycloak Service is a identity provider for the authentication and authorization of users using [Keycloak](https://github.com/keycloak/keycloak). This service is responsible for creating new users and their corresponding roles permissions and handeling authentication and authorization with OpenID-Connect and OAuth2.
106
106
107
107
-`Flight Service`: The Flight Service is a bounded context `CRUD` service to handle flight related operations.
108
108
@@ -118,7 +118,7 @@ In this project I used a mix of [clean architecture](https://jasontaylor.dev/cle
118
118
119
119
I used [yarp reverse proxy](https://microsoft.github.io/reverse-proxy/articles/index.html) to route synchronous and asynchronous requests to the corresponding microservice. Each microservice has its dependencies such as databases, files etc. Each microservice is decoupled from other microservices and developed and deployed separately. Microservices talk to each other with Rest or gRPC for synchronous calls and use RabbitMq or Kafka for asynchronous calls.
120
120
121
-
We have a separate microservice ([IdentityServer](https://github.com/DuendeSoftware/IdentityServer)) for authentication and authorization of each request. Once signed-in users are issued a JWT token. This token is used by other microservices to validate the user, read claims and allow access to authorized/role specific endpoints.
121
+
We have a separate microservice [Keycloak Service](https://github.com/keycloak/keycloak) for authentication and authorization of each request. Once signed-in users are issued a JWT token. This token is used by other microservices to validate the user, read claims and allow access to authorized/role specific endpoints.
122
122
123
123
I used [RabbitMQ](https://github.com/rabbitmq) as my MessageBroker for async communication between microservices using the eventual consistency mechanism. Each microservice uses [MassTransit](https://github.com/MassTransit/MassTransit) to interface with [RabbitMQ](https://github.com/rabbitmq) providing, messaging, availability, reliability, etc.
0 commit comments