SCIM: Update allow non-provisioned users dynamic config field (#107912)

SCIM: add dynamic non-provisioned users allowed setting
This commit is contained in:
colin-stuart
2025-07-10 09:18:30 -05:00
committed by GitHub
parent 441f56f6ce
commit ac7a411c53
2 changed files with 9 additions and 14 deletions
+5 -9
View File
@@ -83,11 +83,7 @@ func (s *SCIMUtil) fetchDynamicSCIMSetting(ctx context.Context, orgID int64, set
case "group":
enabled = scimConfig.EnableGroupSync
case "allowNonProvisionedUsers":
if scimConfig.AllowNonProvisionedUsers != nil {
enabled = *scimConfig.AllowNonProvisionedUsers
} else {
enabled = false
}
enabled = scimConfig.AllowNonProvisionedUsers
default:
s.logger.Error("Invalid setting type provided to fetchDynamicSCIMSetting", "settingType", settingType)
return false, false
@@ -112,9 +108,9 @@ func (s *SCIMUtil) getOrgSCIMConfig(ctx context.Context, orgID int64) (*SCIMConf
// SCIMConfigSpec represents the spec part of a SCIMConfig resource
type SCIMConfigSpec struct {
EnableUserSync bool `json:"enableUserSync"`
EnableGroupSync bool `json:"enableGroupSync"`
AllowNonProvisionedUsers *bool `json:"allowNonProvisionedUsers,omitempty"`
EnableUserSync bool `json:"enableUserSync"`
EnableGroupSync bool `json:"enableGroupSync"`
AllowNonProvisionedUsers bool `json:"allowNonProvisionedUsers"`
}
// unstructuredToSCIMConfig converts an unstructured object to a SCIMConfigSpec
@@ -139,6 +135,6 @@ func (s *SCIMUtil) unstructuredToSCIMConfig(obj *unstructured.Unstructured) (*SC
return &SCIMConfigSpec{
EnableUserSync: enableUserSync,
EnableGroupSync: enableGroupSync,
AllowNonProvisionedUsers: &allowNonProvisionedUsers,
AllowNonProvisionedUsers: allowNonProvisionedUsers,
}, nil
}
+4 -5
View File
@@ -13,7 +13,6 @@ import (
"github.com/grafana/grafana/pkg/services/apiserver/client"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/storage/unified/resourcepb"
"github.com/grafana/grafana/pkg/util"
)
// MockK8sHandler is a mock implementation of client.K8sHandler for testing
@@ -573,7 +572,7 @@ func TestSCIMUtil_unstructuredToSCIMConfig(t *testing.T) {
expectedSpec: SCIMConfigSpec{
EnableUserSync: true,
EnableGroupSync: true,
AllowNonProvisionedUsers: util.Pointer(false),
AllowNonProvisionedUsers: false,
},
},
{
@@ -582,7 +581,7 @@ func TestSCIMUtil_unstructuredToSCIMConfig(t *testing.T) {
expectedSpec: SCIMConfigSpec{
EnableUserSync: false,
EnableGroupSync: false,
AllowNonProvisionedUsers: util.Pointer(false),
AllowNonProvisionedUsers: false,
},
},
{
@@ -591,7 +590,7 @@ func TestSCIMUtil_unstructuredToSCIMConfig(t *testing.T) {
expectedSpec: SCIMConfigSpec{
EnableUserSync: true,
EnableGroupSync: false,
AllowNonProvisionedUsers: util.Pointer(false),
AllowNonProvisionedUsers: false,
},
},
{
@@ -600,7 +599,7 @@ func TestSCIMUtil_unstructuredToSCIMConfig(t *testing.T) {
expectedSpec: SCIMConfigSpec{
EnableUserSync: false,
EnableGroupSync: false,
AllowNonProvisionedUsers: util.Pointer(true),
AllowNonProvisionedUsers: true,
},
},
{