From ac45aec044f9f567ed59e57e3521465e9b9e57e1 Mon Sep 17 00:00:00 2001 From: Trong Huu Nguyen Date: Thu, 21 Jul 2022 17:44:13 +0200 Subject: [PATCH] fix(autologin): filter out empty and duplicate patterns --- pkg/autologin/autologin.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/autologin/autologin.go b/pkg/autologin/autologin.go index d807c27..c84c269 100644 --- a/pkg/autologin/autologin.go +++ b/pkg/autologin/autologin.go @@ -34,8 +34,22 @@ func (o *Options) NeedsLogin(r *http.Request, isAuthenticated bool) bool { } func NewOptions(cfg *config.Config) (*Options, error) { + seen := make(map[string]bool) + patterns := make([]string, 0) + + for _, path := range cfg.AutoLoginIgnorePaths { + if len(path) == 0 { + continue + } + + if _, found := seen[path]; !found { + seen[path] = true + patterns = append(patterns, path) + } + } + return &Options{ Enabled: cfg.AutoLogin, - IgnorePatterns: cfg.AutoLoginIgnorePaths, + IgnorePatterns: patterns, }, nil }