mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 10:12:26 -05:00
[chore] Global server configuration overhaul (#575)
* move config flag names and usage to config package, rewrite config package to use global Configuration{} struct
Signed-off-by: kim <grufwub@gmail.com>
* improved code comment
Signed-off-by: kim <grufwub@gmail.com>
* linter
Signed-off-by: kim <grufwub@gmail.com>
* fix unmarshaling
Signed-off-by: kim <grufwub@gmail.com>
* remove kim's custom go compiler changes
Signed-off-by: kim <grufwub@gmail.com>
* generate setter and flag-name functions, implement these in codebase
Signed-off-by: kim <grufwub@gmail.com>
* update deps
Signed-off-by: kim <grufwub@gmail.com>
* small change
Signed-off-by: kim <grufwub@gmail.com>
* appease the linter...
Signed-off-by: kim <grufwub@gmail.com>
* move configuration into ConfigState structure, ensure reloading to/from viper settings to keep in sync
Signed-off-by: kim <grufwub@gmail.com>
* lint
Signed-off-by: kim <grufwub@gmail.com>
* update code comments
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* improved version string (removes time + go version)
Signed-off-by: kim <grufwub@gmail.com>
* fix version string build to pass test script + consolidate logic in func
Signed-off-by: kim <grufwub@gmail.com>
* add license text, update config.Defaults comment
Signed-off-by: kim <grufwub@gmail.com>
* add license text to generated config helpers file
Signed-off-by: kim <grufwub@gmail.com>
* defer unlock on config.Set___(), to ensure unlocked on panic
Signed-off-by: kim <grufwub@gmail.com>
* make it more obvious which cmd flags are being attached
Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
parent
ae5402ada6
commit
43ac0cdb9c
90 changed files with 2450 additions and 1125 deletions
|
|
@ -23,7 +23,6 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/coreos/go-oidc/v3/oidc"
|
||||
"github.com/spf13/viper"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/config"
|
||||
"golang.org/x/oauth2"
|
||||
)
|
||||
|
|
@ -56,36 +55,33 @@ type idp struct {
|
|||
// is set to false, then nil, nil will be returned. If OIDCConfig.Enabled is true,
|
||||
// then the other OIDC config fields must also be set.
|
||||
func NewIDP(ctx context.Context) (IDP, error) {
|
||||
keys := config.Keys
|
||||
|
||||
oidcEnabled := viper.GetBool(keys.OIDCEnabled)
|
||||
if !oidcEnabled {
|
||||
if !config.GetOIDCEnabled() {
|
||||
// oidc isn't enabled so we don't need to do anything
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// validate config fields
|
||||
idpName := viper.GetString(keys.OIDCIdpName)
|
||||
idpName := config.GetOIDCIdpName()
|
||||
if idpName == "" {
|
||||
return nil, fmt.Errorf("not set: IDPName")
|
||||
}
|
||||
|
||||
issuer := viper.GetString(keys.OIDCIssuer)
|
||||
issuer := config.GetOIDCIssuer()
|
||||
if issuer == "" {
|
||||
return nil, fmt.Errorf("not set: Issuer")
|
||||
}
|
||||
|
||||
clientID := viper.GetString(keys.OIDCClientID)
|
||||
clientID := config.GetOIDCClientID()
|
||||
if clientID == "" {
|
||||
return nil, fmt.Errorf("not set: ClientID")
|
||||
}
|
||||
|
||||
clientSecret := viper.GetString(keys.OIDCClientSecret)
|
||||
clientSecret := config.GetOIDCClientSecret()
|
||||
if clientSecret == "" {
|
||||
return nil, fmt.Errorf("not set: ClientSecret")
|
||||
}
|
||||
|
||||
scopes := viper.GetStringSlice(keys.OIDCScopes)
|
||||
scopes := config.GetOIDCScopes()
|
||||
if len(scopes) == 0 {
|
||||
return nil, fmt.Errorf("not set: Scopes")
|
||||
}
|
||||
|
|
@ -95,8 +91,8 @@ func NewIDP(ctx context.Context) (IDP, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
protocol := viper.GetString(keys.Protocol)
|
||||
host := viper.GetString(keys.Host)
|
||||
protocol := config.GetProtocol()
|
||||
host := config.GetHost()
|
||||
|
||||
oauth2Config := oauth2.Config{
|
||||
// client_id and client_secret of the client.
|
||||
|
|
@ -120,8 +116,7 @@ func NewIDP(ctx context.Context) (IDP, error) {
|
|||
ClientID: clientID,
|
||||
}
|
||||
|
||||
skipVerification := viper.GetBool(keys.OIDCSkipVerification)
|
||||
if skipVerification {
|
||||
if config.GetOIDCSkipVerification() {
|
||||
oidcConf.SkipClientIDCheck = true
|
||||
oidcConf.SkipExpiryCheck = true
|
||||
oidcConf.SkipIssuerCheck = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue