From 3b82079b8c3e9f122bad0d043da7085c38b273cd Mon Sep 17 00:00:00 2001 From: Lenin Alevski Date: Wed, 20 Oct 2021 11:33:07 -0700 Subject: [PATCH] Adding additional fields for openid configuration (#1132) Signed-off-by: Lenin Alevski --- .../screens/Console/Configurations/utils.ts | 34 +++++++++++++++++-- restapi/admin_config.go | 6 +++- restapi/admin_config_test.go | 4 +-- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/portal-ui/src/screens/Console/Configurations/utils.ts b/portal-ui/src/screens/Console/Configurations/utils.ts index 560a245eb..7928d93c3 100644 --- a/portal-ui/src/screens/Console/Configurations/utils.ts +++ b/portal-ui/src/screens/Console/Configurations/utils.ts @@ -315,9 +315,10 @@ export const fieldsConfigurations: any = { name: "config_url", required: false, label: "Config URL", - tooltip: "Config URL for Client ID configuration", + tooltip: "Config URL for identity provider configuration", type: "string", - placeholder: "Enter Config URL", + placeholder: + "https://identity-provider-url/.well-known/openid-configuration", }, { name: "client_id", @@ -326,11 +327,18 @@ export const fieldsConfigurations: any = { type: "string", placeholder: "Enter Client ID", }, + { + name: "client_secret", + required: false, + label: "Secret ID", + type: "string", + placeholder: "Enter Secret ID", + }, { name: "claim_name", required: false, label: "Claim Name", - tooltip: "Claim Name", + tooltip: "Claim from which MinIO will read the policy or role to use", type: "string", placeholder: "Enter Claim Name", }, @@ -342,6 +350,26 @@ export const fieldsConfigurations: any = { type: "string", placeholder: "Enter Claim Prefix", }, + { + name: "claim_userinfo", + required: false, + label: "Claim UserInfo", + type: "on|off", + }, + { + name: "redirect_uri", + required: false, + label: "Redirect URI", + type: "string", + placeholder: "https://console-endpoint-url/oauth_callback", + }, + { + name: "scopes", + required: false, + label: "Scopes", + type: "string", + placeholder: "openid,profile,email", + }, ], identity_ldap: [ { diff --git a/restapi/admin_config.go b/restapi/admin_config.go index 87fb51499..3ae9be7d1 100644 --- a/restapi/admin_config.go +++ b/restapi/admin_config.go @@ -169,7 +169,11 @@ func setConfigWithARNAccountID(ctx context.Context, client MinioAdmin, configNam func buildConfig(configName *string, kvs []*models.ConfigurationKV) *string { configElements := []string{*configName} for _, kv := range kvs { - configElements = append(configElements, fmt.Sprintf("%s=%s", kv.Key, kv.Value)) + key := kv.Key + val := fmt.Sprintf("\"%s\"", kv.Value) + if key != "" { + configElements = append(configElements, fmt.Sprintf("%s=%s", key, val)) + } } config := strings.Join(configElements, " ") return &config diff --git a/restapi/admin_config_test.go b/restapi/admin_config_test.go index 32f213e95..a14be1b56 100644 --- a/restapi/admin_config_test.go +++ b/restapi/admin_config_test.go @@ -191,7 +191,7 @@ func Test_buildConfig(t *testing.T) { }, }, }, - want: swag.String("notify_postgres enable=off connection_string="), + want: swag.String("notify_postgres enable=\"off\" connection_string=\"\""), }, // Test-2: buildConfig() format correctly configuration as "config_name k=v k2=v2 k2=v3" with duplicate keys { @@ -213,7 +213,7 @@ func Test_buildConfig(t *testing.T) { }, }, }, - want: swag.String("notify_postgres enable=off connection_string= connection_string=x"), + want: swag.String("notify_postgres enable=\"off\" connection_string=\"\" connection_string=\"x\""), }, } for _, tt := range tests {