proxy: transition idps ux flow by jphines · Pull Request #218 · buzzfeed/sso

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.