From 7b4c40c2654f67b35ec1f79dd441a6ae7061dbb1 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Sun, 26 Nov 2023 13:32:20 +0800 Subject: [PATCH] Opt: oauth2 plugins config --- internal/bootstrap/provider.go | 2 +- internal/conf/config.go | 6 +++--- internal/conf/oauth2.go | 6 ++---- .../example/example_feishuSSO/example_feishuSSO.go | 13 +++---------- .../plugins/example/example_gitee/example_gitee.go | 11 ++--------- 5 files changed, 11 insertions(+), 27 deletions(-) diff --git a/internal/bootstrap/provider.go b/internal/bootstrap/provider.go index d1c68fc..df1e9c2 100644 --- a/internal/bootstrap/provider.go +++ b/internal/bootstrap/provider.go @@ -27,7 +27,7 @@ func InitProvider(ctx context.Context) (err error) { if flags.Dev { logLevle = hclog.Debug } - for _, op := range conf.Conf.OAuth2 { + for _, op := range conf.Conf.Oauth2Plugins { op.PluginFile, err = utils.OptFilePath(op.PluginFile) if err != nil { log.Fatalf("oauth2 plugin file path error: %v", err) diff --git a/internal/conf/config.go b/internal/conf/config.go index 0c56db0..88f2a7b 100644 --- a/internal/conf/config.go +++ b/internal/conf/config.go @@ -17,8 +17,8 @@ type Config struct { // Database Database DatabaseConfig `yaml:"database"` - // OAuth2 - OAuth2 OAuth2Config `yaml:"oauth2"` + // Oauth2Plugins + Oauth2Plugins Oauth2Plugins `yaml:"oauth2_plugins"` // RateLimit RateLimit RateLimitConfig `yaml:"rate_limit"` @@ -46,7 +46,7 @@ func DefaultConfig() *Config { Database: DefaultDatabaseConfig(), // OAuth2 - OAuth2: DefaultOAuth2Config(), + Oauth2Plugins: DefaultOauth2Plugins(), // RateLimit RateLimit: DefaultRateLimitConfig(), diff --git a/internal/conf/oauth2.go b/internal/conf/oauth2.go index ffc81e3..068057e 100644 --- a/internal/conf/oauth2.go +++ b/internal/conf/oauth2.go @@ -1,12 +1,10 @@ package conf -type OAuth2Config []Oauth2Plugin - -type Oauth2Plugin struct { +type Oauth2Plugins []struct { PluginFile string `yaml:"plugin_file"` Args []string `yaml:"args"` } -func DefaultOAuth2Config() OAuth2Config { +func DefaultOauth2Plugins() Oauth2Plugins { return nil } diff --git a/internal/provider/plugins/example/example_feishuSSO/example_feishuSSO.go b/internal/provider/plugins/example/example_feishuSSO/example_feishuSSO.go index 4a61073..266fc98 100644 --- a/internal/provider/plugins/example/example_feishuSSO/example_feishuSSO.go +++ b/internal/provider/plugins/example/example_feishuSSO/example_feishuSSO.go @@ -25,16 +25,9 @@ import ( // // config.yaml: // -// oauth2: -// providers: -// feishuSSO: -// client_id: "App ID" -// client_secret: "App Secret" -// redirect_url: "登录回调地址" -// plugins: -// - plugin_file: plugins/oauth2/feishuSSO -// arges: -// - "OAuth2.0协议端点中的一串数字" +// oauth2_plugins: +// - plugin_file: plugins/oauth2/feishuSSO +// args: ["OAuth2.0协议端点中的一串数字"] type FeishuProvider struct { config oauth2.Config ssoid string // Your SSO Application ID in Feishu Anycross diff --git a/internal/provider/plugins/example/example_gitee/example_gitee.go b/internal/provider/plugins/example/example_gitee/example_gitee.go index 04b988e..32a1f57 100644 --- a/internal/provider/plugins/example/example_gitee/example_gitee.go +++ b/internal/provider/plugins/example/example_gitee/example_gitee.go @@ -18,15 +18,8 @@ import ( // // config.yaml: // -// oauth2: -// providers: -// gitee: -// client_id: xxx -// client_secret: xxx -// redirect_url: xxx -// plugins: -// - plugin_file: plugins/oauth2/gitee -// arges: [] +// oauth2_plugins: +// - plugin_file: plugins/oauth2/gitee type GiteeProvider struct { config oauth2.Config }