proxy: redirect to dashboard for logout (#1944)

This commit is contained in:
Caleb Doxsey 2021-02-24 11:52:38 -07:00 committed by GitHub
parent a78dae7f6f
commit 4f2bb60adb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 7 deletions

View file

@ -65,13 +65,13 @@ func (p *Proxy) SignOut(w http.ResponseWriter, r *http.Request) {
redirectURL = uri
}
signoutURL := *state.authenticateSignoutURL
q := signoutURL.Query()
dashboardURL := *state.authenticateDashboardURL
q := dashboardURL.Query()
q.Set(urlutil.QueryRedirectURI, redirectURL.String())
signoutURL.RawQuery = q.Encode()
dashboardURL.RawQuery = q.Encode()
state.sessionStore.ClearSession(w, r)
httputil.Redirect(w, r, urlutil.NewSignedURL(state.sharedKey, &signoutURL).String(), http.StatusFound)
httputil.Redirect(w, r, urlutil.NewSignedURL(state.sharedKey, &dashboardURL).String(), http.StatusFound)
}
func (p *Proxy) userInfo(w http.ResponseWriter, r *http.Request) {

View file

@ -25,7 +25,6 @@ const (
// authenticate urls
dashboardPath = "/.pomerium"
signinURL = "/.pomerium/sign_in"
signoutURL = "/.pomerium/sign_out"
refreshURL = "/.pomerium/refresh"
)

View file

@ -26,7 +26,6 @@ type proxyState struct {
authenticateURL *url.URL
authenticateDashboardURL *url.URL
authenticateSigninURL *url.URL
authenticateSignoutURL *url.URL
authenticateRefreshURL *url.URL
encoder encoding.MarshalUnmarshaler
@ -61,7 +60,6 @@ func newProxyStateFromConfig(cfg *config.Config) (*proxyState, error) {
state.authenticateURL, _ = urlutil.DeepCopy(cfg.Options.AuthenticateURL)
state.authenticateDashboardURL = state.authenticateURL.ResolveReference(&url.URL{Path: dashboardPath})
state.authenticateSigninURL = state.authenticateURL.ResolveReference(&url.URL{Path: signinURL})
state.authenticateSignoutURL = state.authenticateURL.ResolveReference(&url.URL{Path: signoutURL})
state.authenticateRefreshURL = state.authenticateURL.ResolveReference(&url.URL{Path: refreshURL})
state.sessionStore, err = cookie.NewStore(func() cookie.Options {