@startuml participant "User" participant Client == Registration == Client -> "Social Auth Server": Authorization Code Request activate "Social Auth Server" "User" -> "Social Auth Server": Login & Consent "Social Auth Server" --> Client: Authorization Code Response deactivate "Social Auth Server" Client -> "Social Auth Server": Exchange Code for Access Token activate "Social Auth Server" "Social Auth Server" --> Client: Access Token [+ Refresh Token] deactivate "Social Auth Server" Client -> "Social Resource Server": Call API with Access Token activate "Social Resource Server" "Social Resource Server" -> "Social Auth Server": Validate Access Token activate "Social Auth Server" "Social Auth Server" --> "Social Resource Server": Valid Access Token Response deactivate "Social Auth Server" "Social Resource Server" --> Client: Response with User Data deactivate "Social Resource Server" note right: This data is used to create/identify an internal account Client -> "Internal Auth Server": Create User [if not exists] activate "Internal Auth Server" "Internal Auth Server" --> Client: Confirm User deactivate "Internal Auth Server" == Consume Service == Client -> "Internal Auth Server": Authorization Code Request activate "Internal Auth Server" note right: Requested Using Social Access Token "Internal Auth Server" -> "Social Auth Server": Validate Access Token activate "Social Auth Server" "Social Auth Server" --> "Internal Auth Server": Valid Access Token Response deactivate "Social Auth Server" "Internal Auth Server" -> "Social Resource Server": Get data (like username) activate "Social Resource Server" "Social Resource Server" --> "Internal Auth Server": Return user data deactivate "Social Resource Server" "Internal Auth Server" --> Client: Authorization Code Response deactivate "Internal Auth Server" Client -> "Internal Auth Server": Exchange Code for Access Token activate "Internal Auth Server" "Internal Auth Server" --> Client: Access Token [+ Refresh Token] deactivate "Internal Auth Server" loop Internal microservice calls Client -> "Internal Resource Server": Call API with Access Token activate "Internal Resource Server" "Internal Resource Server" -> "Internal Auth Server": Validate Access Token activate "Internal Auth Server" "Internal Auth Server" --> "Internal Resource Server": Validate Access Token deactivate "Internal Auth Server" "Internal Resource Server" --> Client: Response with Data deactivate "Internal Resource Server" end @enduml
Submit
Switch layout
Tweet
View as PNG
View as SVG
View as ASCII Art
You can enter here a previously generated URL:
Submit
(
/
/
)