Replace the login name with an empty string if the user does not exist

This commit is contained in:
Melon 2025-02-09 22:18:50 +00:00
parent b0ababa177
commit d1ba2a779d
Signed by: melon
GPG Key ID: 6C9D970C50D26A25

View File

@ -80,13 +80,14 @@ func (h *httpServer) loginGet(rw http.ResponseWriter, req *http.Request, _ httpr
cookie, err := req.Cookie("lavender-login-name") cookie, err := req.Cookie("lavender-login-name")
if err == nil && cookie.Valid() == nil { if err == nil && cookie.Valid() == nil {
user, err := h.db.GetUser(req.Context(), userAuth.Subject) loginName := cookie.Value
var userPtr *database.User
_, err := h.db.GetUser(req.Context(), userAuth.Subject)
switch { switch {
case err == nil: case err == nil:
userPtr = &user break
case errors.Is(err, sql.ErrNoRows): case errors.Is(err, sql.ErrNoRows):
userPtr = nil loginName = ""
default: default:
http.Error(rw, "Internal server error", http.StatusInternalServerError) http.Error(rw, "Internal server error", http.StatusInternalServerError)
return return
@ -94,7 +95,7 @@ func (h *httpServer) loginGet(rw http.ResponseWriter, req *http.Request, _ httpr
web.RenderPageTemplate(rw, "login-memory", map[string]any{ web.RenderPageTemplate(rw, "login-memory", map[string]any{
"ServiceName": h.conf.ServiceName, "ServiceName": h.conf.ServiceName,
"LoginName": cookie.Value, "LoginName": loginName,
"Redirect": req.URL.Query().Get("redirect"), "Redirect": req.URL.Query().Get("redirect"),
"Source": "start", "Source": "start",
}) })
@ -140,7 +141,6 @@ func (h *httpServer) loginGet(rw http.ResponseWriter, req *http.Request, _ httpr
"LoginName": "", "LoginName": "",
"Redirect": req.URL.Query().Get("redirect"), "Redirect": req.URL.Query().Get("redirect"),
"Source": "start", "Source": "start",
"Auth": h.testAuthSources(req, nil, auth.StateUnauthorized),
"AuthTemplate": renderTemplate, "AuthTemplate": renderTemplate,
"AuthButtons": buttonTemplates, "AuthButtons": buttonTemplates,
}) })