Geo: Single Sign Out
When a user, in a Geo (#76) secondary node clicks the sign out button, we only sign the user out on secondary node. This is a bit confusing because the user is redirected to primary node, which looks the same without any visible clue.
This is also problematic when GitLab requires authentication because when you visit Geo secondary node, you get redirected to primary and if you are already logged in there, you get redirected back to secondary and get logged in.
Proposal
When we log out the user from a secondary node, we should redirect him back to a specific location in primary node where we will log him out from that node too.
To prevent a CSRF logging out the user, we can include a salt
and generate an HMAC based on current user access token
(this logic is similar to how we sign return_to
we send via state
in authorization request.