diff --git a/internal/api/handlers/management/auth_files.go b/internal/api/handlers/management/auth_files.go index 4d1ec44c..a718a27a 100644 --- a/internal/api/handlers/management/auth_files.go +++ b/internal/api/handlers/management/auth_files.go @@ -739,10 +739,25 @@ func (h *Handler) authIDForPath(path string) string { if path == "" { return "" } + path = filepath.Clean(path) + if !filepath.IsAbs(path) { + if abs, errAbs := filepath.Abs(path); errAbs == nil { + path = abs + } + } id := path if h != nil && h.cfg != nil { authDir := strings.TrimSpace(h.cfg.AuthDir) + if resolvedAuthDir, errResolve := util.ResolveAuthDir(authDir); errResolve == nil && resolvedAuthDir != "" { + authDir = resolvedAuthDir + } if authDir != "" { + authDir = filepath.Clean(authDir) + if !filepath.IsAbs(authDir) { + if abs, errAbs := filepath.Abs(authDir); errAbs == nil { + authDir = abs + } + } if rel, errRel := filepath.Rel(authDir, path); errRel == nil && rel != "" { id = rel }