diff --git a/server/handlers.go b/server/handlers.go index c265e0b1d2..d9700f3029 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -223,6 +223,7 @@ func (s *Server) handleConnectorLogin(w http.ResponseWriter, r *http.Request) { return } scopes := parseScopes(authReq.Scopes) + showBacklink := len(s.connectors) > 1 switch r.Method { case "GET": @@ -250,7 +251,7 @@ func (s *Server) handleConnectorLogin(w http.ResponseWriter, r *http.Request) { } http.Redirect(w, r, callbackURL, http.StatusFound) case connector.PasswordConnector: - if err := s.templates.password(w, r.URL.String(), "", usernamePrompt(conn), false); err != nil { + if err := s.templates.password(w, r.URL.String(), "", usernamePrompt(conn), false, showBacklink); err != nil { s.logger.Errorf("Server template error: %v", err) } case connector.SAMLConnector: @@ -298,7 +299,7 @@ func (s *Server) handleConnectorLogin(w http.ResponseWriter, r *http.Request) { return } if !ok { - if err := s.templates.password(w, r.URL.String(), username, usernamePrompt(passwordConnector), true); err != nil { + if err := s.templates.password(w, r.URL.String(), username, usernamePrompt(passwordConnector), true, showBacklink); err != nil { s.logger.Errorf("Server template error: %v", err) } return diff --git a/server/templates.go b/server/templates.go index aff4568c1e..5cadefa372 100644 --- a/server/templates.go +++ b/server/templates.go @@ -190,13 +190,14 @@ func (t *templates) login(w http.ResponseWriter, connectors []connectorInfo) err return renderTemplate(w, t.loginTmpl, data) } -func (t *templates) password(w http.ResponseWriter, postURL, lastUsername, usernamePrompt string, lastWasInvalid bool) error { +func (t *templates) password(w http.ResponseWriter, postURL, lastUsername, usernamePrompt string, lastWasInvalid, showBacklink bool) error { data := struct { PostURL string + BackLink bool Username string UsernamePrompt string Invalid bool - }{postURL, lastUsername, usernamePrompt, lastWasInvalid} + }{postURL, showBacklink, lastUsername, usernamePrompt, lastWasInvalid} return renderTemplate(w, t.passwordTmpl, data) } diff --git a/web/templates/password.html b/web/templates/password.html index bd2e954dc1..5b585b4e9b 100644 --- a/web/templates/password.html +++ b/web/templates/password.html @@ -25,6 +25,11 @@