From ac492180e883e630df290d9179b6e82ef1e6c55e Mon Sep 17 00:00:00 2001 From: Alena Maslova Date: Mon, 17 Jan 2022 14:13:27 +0300 Subject: [PATCH] use custom UserIDFunc for anonymous provider --- backend/app/cmd/server.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/app/cmd/server.go b/backend/app/cmd/server.go index 0f111bb9..579459a6 100644 --- a/backend/app/cmd/server.go +++ b/backend/app/cmd/server.go @@ -887,7 +887,8 @@ func (s *ServerCommand) addAuthProviders(authenticator *auth.Service) error { if s.Auth.Anonymous { log.Print("[INFO] anonymous access enabled") var isValidAnonName = regexp.MustCompile(`^[\p{L}\d_ ]+$`).MatchString - authenticator.AddDirectProvider("anonymous", provider.CredCheckerFunc(func(user, _ string) (ok bool, err error) { + authenticator.AddDirectProviderWithUserIDFunc("anonymous", provider.CredCheckerFunc(func(user, _ string) (ok bool, err error) { + // don't allow anon with space prefix or suffix if strings.HasPrefix(user, " ") || strings.HasSuffix(user, " ") { log.Printf("[WARN] name %q has space as a suffix or prefix", user) @@ -909,7 +910,10 @@ func (s *ServerCommand) addAuthProviders(authenticator *auth.Service) error { return false, nil } return true, nil - })) + }), + func(user string, r *http.Request) string { + return user + r.RemoteAddr + }) } if providersCount == 0 {