Evening all
I am trying to grasp the concept of how Social SSO (Facebook/Google etc) would work within a Microservices Architecture.
Scenario
Lets say I have 2 backend microservices (Order, User) and one front end (WebApp)
- User: Holds user profile details, email, name, address.
- Order: Holds a list of orders which are linked to a user
- WebApp: Provides a front end which interacts with the two back end services.
Adding Social SSO, is to simplify the process of users signing up to the website http://www.myproduct.com
When a person uses Social SSO, I want to create a user account in the user service.
Questions
Assuming a user clicks "Login with Facebook" on the WebApp and logged in as "John"
What is the best approach to creating an account for John in my User service ?
Once logged in as John, how does the WebApp propagate the identity of John to the Order service ?
How does the Order service validate that John is logged in ?
How can interdependent services Order & User trust each other ?
Concerns
- Downstream services will become very "chatty" with the Authorisation Server (Facebook, Google)
Thanks
Daniel