@@ -446,12 +446,15 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
446446 p.ClearSessionCookie(rw, req)
447447 rw.WriteHeader(code)
448448
449− redirecURL := req.URL.RequestURI()
450− if req.Header.Get("X-Auth-Request-Redirect") != "" {
451− redirecURL = req.Header.Get("X-Auth-Request-Redirect")
449+ redirectURL, err := p.GetRedirect(req)
450+ if err != nil {
451+ logger.Printf("Error obtaining redirect: %s", err.Error())
452+ p.ErrorPage(rw, 500, "Internal Error", err.Error())
453+ return
452454 }
453− if redirecURL == p.SignInPath {
454− redirecURL = "/"
455+
456+ if redirectURL == p.SignInPath {
457+ redirectURL = "/"
455458 }
456459
457460 t := struct {
@@ -466,7 +469,7 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
466469 ProviderName: p.provider.Data().ProviderName,
467470 SignInMessage: p.SignInMessage,
468471 CustomLogin: p.displayCustomLoginForm(),
469− Redirect: redirecURL,
472+ Redirect: redirectURL,
470473 Version: VERSION,
471474 ProxyPrefix: p.ProxyPrefix,
472475 Footer: template.HTML(p.Footer),