diff --git a/providers/provider_data.go b/providers/provider_data.go index 95de5c50..92598793 100644 --- a/providers/provider_data.go +++ b/providers/provider_data.go @@ -179,7 +179,9 @@ func regexpForRule(rule options.URLParameterRule) string { func (p *ProviderData) setAllowedGroups(groups []string) { p.AllowedGroups = make(map[string]struct{}, len(groups)) for _, group := range groups { - p.AllowedGroups[group] = struct{}{} + if group != "" { + p.AllowedGroups[group] = struct{}{} + } } } diff --git a/providers/provider_default_test.go b/providers/provider_default_test.go index 0fbe7abd..9370cdca 100644 --- a/providers/provider_default_test.go +++ b/providers/provider_default_test.go @@ -102,6 +102,18 @@ func TestProviderDataAuthorize(t *testing.T) { groups: []string{"baz", "foo"}, expectedAuthZ: false, }, + { + name: "AllowedGroupsWithEmptyString", + allowedGroups: []string{"group2", ""}, + groups: []string{"group1", "group2"}, + expectedAuthZ: true, + }, + { + name: "AllowedGroupsOnlyEmptyString", + allowedGroups: []string{""}, + groups: []string{"group1", "group2"}, + expectedAuthZ: true, + }, } for _, tc := range testCases {