Sau 1 thời gian ngắn tìm hiểu về Microservices với Spring Boot cũng như Spring Cloud thì em thấy đối với chức năng login xác thực người dùng thì đa số sẽ có 1 Api Gateway (Em đang dùng Spring cloud gateway) nhận tất cả request và xác thực 1 bên thứ 3 mà em thấy nhiều ví dụ nhất là KeyCloak.
- Cho em hỏi là ở thực tế thì trong hệ thống microservices thì các cách, giải pháp triển khai authentication và authorization như thế nào ạ ?
- Em hiện tại ko muốn xác thực thông qua Keycloak mà em muốn viết logic để xác thực bằng Spring và lưu user của hệ thống ở DB của ta thay vì lưu ở Keycloak thì có ổn ko ạ ? Tại vì theo e nghĩ ở dự án thực tế chả ai lưu user của mình ở Keycloack cả.
- Nếu có 1 con Gateway thì các service khi gọi nội bộ với nhau thì có cần xác thực ko ạ ?
- Em đang muốn làm chức năng xác thực (login) bằng account của hệ thống và cũng như xác thực bằng account Facebook, Google. Cái này nếu làm dự án Monolithic thì em OK còn khi với hệ thống microservices thì em chưa có solution.Mong anh Dũng và mọi người gợi ý giúp em cách làm về chức năng login kiểu này vừa account hệ thống vừa social account.
Tks mọi người !