@@ -446,12 +446,15 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
446 p.ClearSessionCookie(rw, req)
446 p.ClearSessionCookie(rw, req)
447 rw.WriteHeader(code)
447 rw.WriteHeader(code)
449− redirecURL := req.URL.RequestURI()
449+ redirectURL, err := p.GetRedirect(req)
450− if req.Header.Get("X-Auth-Request-Redirect") != "" {
450+ if err != nil {
451− redirecURL = req.Header.Get("X-Auth-Request-Redirect")
451+ logger.Printf("Error obtaining redirect: %s", err.Error())
452+ p.ErrorPage(rw, 500, "Internal Error", err.Error())
453− if redirecURL == p.SignInPath {
456+ if redirectURL == p.SignInPath {
454− redirecURL = "/"
457+ redirectURL = "/"
457 t := struct {
460 t := struct {
@@ -466,7 +469,7 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
466 ProviderName: p.provider.Data().ProviderName,
469 ProviderName: p.provider.Data().ProviderName,
467 SignInMessage: p.SignInMessage,
470 SignInMessage: p.SignInMessage,
468 CustomLogin: p.displayCustomLoginForm(),
471 CustomLogin: p.displayCustomLoginForm(),
469− Redirect: redirecURL,
472+ Redirect: redirectURL,
470 Version: VERSION,
473 Version: VERSION,
471 ProxyPrefix: p.ProxyPrefix,
474 ProxyPrefix: p.ProxyPrefix,
472 Footer: template.HTML(p.Footer),
475 Footer: template.HTML(p.Footer),