diff --git a/pkg/login/social/connectors/azuread_oauth.go b/pkg/login/social/connectors/azuread_oauth.go index 6112de71dfe..d40999e4cd5 100644 --- a/pkg/login/social/connectors/azuread_oauth.go +++ b/pkg/login/social/connectors/azuread_oauth.go @@ -175,7 +175,7 @@ func (s *SocialAzureAD) Reload(ctx context.Context, settings ssoModels.SSOSettin s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.AzureADProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.AzureADProviderName, newInfo) if newInfo.UseRefreshToken { appendUniqueScope(s.Config, social.OfflineAccessScope) diff --git a/pkg/login/social/connectors/generic_oauth.go b/pkg/login/social/connectors/generic_oauth.go index 413d8c0760f..eec06750da0 100644 --- a/pkg/login/social/connectors/generic_oauth.go +++ b/pkg/login/social/connectors/generic_oauth.go @@ -116,7 +116,7 @@ func (s *SocialGenericOAuth) Reload(ctx context.Context, settings ssoModels.SSOS s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.GenericOAuthProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.GenericOAuthProviderName, newInfo) s.teamsUrl = newInfo.TeamsUrl s.emailAttributeName = newInfo.EmailAttributeName diff --git a/pkg/login/social/connectors/github_oauth.go b/pkg/login/social/connectors/github_oauth.go index cf346c7e4ec..007e576a8cf 100644 --- a/pkg/login/social/connectors/github_oauth.go +++ b/pkg/login/social/connectors/github_oauth.go @@ -121,7 +121,7 @@ func (s *SocialGithub) Reload(ctx context.Context, settings ssoModels.SSOSetting s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.GitHubProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.GitHubProviderName, newInfo) s.teamIds = teamIds s.allowedOrganizations = util.SplitString(newInfo.Extra[allowedOrganizationsKey]) diff --git a/pkg/login/social/connectors/gitlab_oauth.go b/pkg/login/social/connectors/gitlab_oauth.go index f082433c3d2..258edde7d47 100644 --- a/pkg/login/social/connectors/gitlab_oauth.go +++ b/pkg/login/social/connectors/gitlab_oauth.go @@ -92,7 +92,7 @@ func (s *SocialGitlab) Reload(ctx context.Context, settings ssoModels.SSOSetting s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.GitlabProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.GitlabProviderName, newInfo) return nil } diff --git a/pkg/login/social/connectors/google_oauth.go b/pkg/login/social/connectors/google_oauth.go index 052691bb754..a4404004afa 100644 --- a/pkg/login/social/connectors/google_oauth.go +++ b/pkg/login/social/connectors/google_oauth.go @@ -88,7 +88,7 @@ func (s *SocialGoogle) Reload(ctx context.Context, settings ssoModels.SSOSetting s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.GoogleProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.GoogleProviderName, newInfo) return nil } diff --git a/pkg/login/social/connectors/grafana_com_oauth.go b/pkg/login/social/connectors/grafana_com_oauth.go index 85928d8d77b..c5961cb07da 100644 --- a/pkg/login/social/connectors/grafana_com_oauth.go +++ b/pkg/login/social/connectors/grafana_com_oauth.go @@ -85,7 +85,7 @@ func (s *SocialGrafanaCom) Reload(ctx context.Context, settings ssoModels.SSOSet s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.GrafanaComProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.GrafanaComProviderName, newInfo) s.url = s.cfg.GrafanaComURL s.allowedOrganizations = util.SplitString(newInfo.Extra[allowedOrganizationsKey]) diff --git a/pkg/login/social/connectors/okta_oauth.go b/pkg/login/social/connectors/okta_oauth.go index 3f1ab3e2c8c..6448b26b748 100644 --- a/pkg/login/social/connectors/okta_oauth.go +++ b/pkg/login/social/connectors/okta_oauth.go @@ -88,7 +88,7 @@ func (s *SocialOkta) Reload(ctx context.Context, settings ssoModels.SSOSettings) s.reloadMutex.Lock() defer s.reloadMutex.Unlock() - s.SocialBase = newSocialBase(social.OktaProviderName, newInfo, s.features, s.cfg) + s.updateInfo(social.OktaProviderName, newInfo) if newInfo.UseRefreshToken { appendUniqueScope(s.Config, social.OfflineAccessScope) } diff --git a/pkg/login/social/connectors/social_base.go b/pkg/login/social/connectors/social_base.go index a6579ea7b28..577bdc41e5e 100644 --- a/pkg/login/social/connectors/social_base.go +++ b/pkg/login/social/connectors/social_base.go @@ -50,6 +50,11 @@ func newSocialBase(name string, } } +func (s *SocialBase) updateInfo(name string, info *social.OAuthInfo) { + s.Config = createOAuthConfig(info, s.cfg, name) + s.info = info +} + type groupStruct struct { Groups []string `json:"groups"` }