diff --git a/appview/state/accounts.go b/appview/state/accounts.go index 98dafefb..579b9dda 100644 --- a/appview/state/accounts.go +++ b/appview/state/accounts.go @@ -23,7 +23,13 @@ func (s *State) SwitchAccount(w http.ResponseWriter, r *http.Request) { if err := s.oauth.SwitchAccount(w, r, did); err != nil { l.Error("failed to switch account", "err", err) - s.pages.HxRedirect(w, "/login?error=session") + redirectURL, err := s.oauth.ClientApp.StartAuthFlow(r.Context(), did) + if err != nil { + l.Error("failed to resume login flow", "err", err) + s.pages.HxRedirect(w, "/login?error=session") + return + } + s.pages.HxRedirect(w, redirectURL) return }