proxy: transition idps ux flow #218
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
If a user accesses an upstream for which the identity provider has changed, the user will get a very confusing and potentially concerning 500 Internal Server Error. We can fix this ux flow so the user can be transparently authenticated with the new provider
Solution
If a user is are already authenticated, we can transparently re-auth the user by clearing the existing cookie and restarting the authentication flow. If they aren't authenticated, this same process starts new auth flow at the authenticator.
Notes
In order to make this work, we must add new fields to the session object which includes what provider slug/type information for the session. This adds some potential length to this cookie which is already starting to get big.