func setRealmSettings()

in pkg/client/keycloak/adapter/gocloak_adapter_realms.go [74:134]


func setRealmSettings(realm *gocloak.RealmRepresentation, realmSettings *RealmSettings) {
	if realmSettings.Themes != nil {
		realm.LoginTheme = realmSettings.Themes.LoginTheme
		realm.AccountTheme = realmSettings.Themes.AccountTheme
		realm.AdminTheme = realmSettings.Themes.AdminConsoleTheme
		realm.EmailTheme = realmSettings.Themes.EmailTheme
		realm.InternationalizationEnabled = realmSettings.Themes.InternationalizationEnabled
	}

	if realmSettings.BrowserSecurityHeaders != nil {
		if realm.BrowserSecurityHeaders == nil {
			bsh := make(map[string]string)
			realm.BrowserSecurityHeaders = &bsh
		}

		realmBrowserSecurityHeaders := *realm.BrowserSecurityHeaders
		for k, v := range *realmSettings.BrowserSecurityHeaders {
			realmBrowserSecurityHeaders[k] = v
		}

		realm.BrowserSecurityHeaders = &realmBrowserSecurityHeaders
	}

	if len(realmSettings.PasswordPolicies) > 0 {
		policies := make([]string, len(realmSettings.PasswordPolicies))
		for i, v := range realmSettings.PasswordPolicies {
			policies[i] = fmt.Sprintf("%s(%s)", v.Type, v.Value)
		}

		realm.PasswordPolicy = gocloak.StringP(strings.Join(policies, " and "))
	}

	if realmSettings.DisplayHTMLName != "" {
		if realm.Attributes == nil {
			realm.Attributes = &map[string]string{}
		}

		(*realm.Attributes)["displayHTMLName"] = realmSettings.DisplayHTMLName
	}

	if realmSettings.FrontendURL != "" {
		if realm.Attributes == nil {
			realm.Attributes = &map[string]string{}
		}

		(*realm.Attributes)["frontendUrl"] = realmSettings.FrontendURL
	}

	realm.DisplayName = gocloak.StringP(realmSettings.DisplayName)

	if realmSettings.TokenSettings != nil {
		realm.DefaultSignatureAlgorithm = gocloak.StringP(realmSettings.TokenSettings.DefaultSignatureAlgorithm)
		realm.RevokeRefreshToken = gocloak.BoolP(realmSettings.TokenSettings.RevokeRefreshToken)
		realm.RefreshTokenMaxReuse = gocloak.IntP(realmSettings.TokenSettings.RefreshTokenMaxReuse)
		realm.AccessTokenLifespan = gocloak.IntP(realmSettings.TokenSettings.AccessTokenLifespan)
		realm.AccessTokenLifespanForImplicitFlow = gocloak.IntP(realmSettings.TokenSettings.AccessTokenLifespanForImplicitFlow)
		realm.AccessCodeLifespan = gocloak.IntP(realmSettings.TokenSettings.AccessCodeLifespan)
		realm.ActionTokenGeneratedByUserLifespan = gocloak.IntP(realmSettings.TokenSettings.ActionTokenGeneratedByUserLifespan)
		realm.ActionTokenGeneratedByAdminLifespan = gocloak.IntP(realmSettings.TokenSettings.ActionTokenGeneratedByAdminLifespan)
	}
}