mirror of
https://github.com/go-gitea/gitea
synced 2024-11-30 05:18:14 +01:00
59d4aadba5
## Changes - Adds setting `EXTERNAL_USER_DISABLE_FEATURES` to disable any supported user features when login type is not plain - In general, this is necessary for SSO implementations to avoid inconsistencies between the external account management and the linked account - Adds helper functions to encourage correct use
30 lines
990 B
Go
30 lines
990 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package setting
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/container"
|
|
)
|
|
|
|
// Admin settings
|
|
var Admin struct {
|
|
DisableRegularOrgCreation bool
|
|
DefaultEmailNotification string
|
|
UserDisabledFeatures container.Set[string]
|
|
ExternalUserDisableFeatures container.Set[string]
|
|
}
|
|
|
|
func loadAdminFrom(rootCfg ConfigProvider) {
|
|
sec := rootCfg.Section("admin")
|
|
Admin.DisableRegularOrgCreation = sec.Key("DISABLE_REGULAR_ORG_CREATION").MustBool(false)
|
|
Admin.DefaultEmailNotification = sec.Key("DEFAULT_EMAIL_NOTIFICATIONS").MustString("enabled")
|
|
Admin.UserDisabledFeatures = container.SetOf(sec.Key("USER_DISABLED_FEATURES").Strings(",")...)
|
|
Admin.ExternalUserDisableFeatures = container.SetOf(sec.Key("EXTERNAL_USER_DISABLE_FEATURES").Strings(",")...)
|
|
}
|
|
|
|
const (
|
|
UserFeatureDeletion = "deletion"
|
|
UserFeatureManageSSHKeys = "manage_ssh_keys"
|
|
UserFeatureManageGPGKeys = "manage_gpg_keys"
|
|
)
|