Case-insensitively compare user logins

This commit is contained in:
akp 2024-10-12 19:37:06 +01:00
parent d9027601f9
commit 7c8b170276
No known key found for this signature in database
GPG key ID: CF8D58F3DEB20755

View file

@ -7,6 +7,7 @@ import (
"github.com/caddyserver/caddy/v2/modules/caddyhttp/caddyauth" "github.com/caddyserver/caddy/v2/modules/caddyhttp/caddyauth"
"net/http" "net/http"
"strconv" "strconv"
"strings"
"tailscale.com/client/tailscale" "tailscale.com/client/tailscale"
"time" "time"
) )
@ -35,7 +36,7 @@ func (ta *TailscaleAuth) Provision(caddy.Context) error {
ta.allowedUsersMap = make(map[string]struct{}) ta.allowedUsersMap = make(map[string]struct{})
for _, u := range ta.AllowedUsers { for _, u := range ta.AllowedUsers {
ta.allowedUsersMap[u] = struct{}{} ta.allowedUsersMap[strings.ToLower(u)] = struct{}{}
} }
return nil return nil
@ -52,7 +53,7 @@ func (ta *TailscaleAuth) Authenticate(_ http.ResponseWriter, req *http.Request)
return caddyauth.User{}, false, err return caddyauth.User{}, false, err
} }
if _, found := ta.allowedUsersMap[whois.UserProfile.LoginName]; len(ta.allowedUsersMap) != 0 && !found { if _, found := ta.allowedUsersMap[strings.ToLower(whois.UserProfile.LoginName)]; len(ta.allowedUsersMap) != 0 && !found {
return caddyauth.User{}, false, nil return caddyauth.User{}, false, nil
} }