2021-04-18 15:41:13 -04:00
// Copyright (c) 2015-2021 MinIO, Inc.
//
// This file is part of MinIO Object Storage stack
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
2019-10-23 01:59:13 -04:00
package openid
2021-06-01 17:59:40 -04:00
import "github.com/minio/minio/internal/config"
2019-10-23 01:59:13 -04:00
// Help template for OpenID identity feature.
var (
2022-04-26 23:11:37 -04:00
defaultHelpPostfix = func ( key string ) string {
return config . DefaultHelpPostfix ( DefaultKVS , key )
}
2019-11-19 16:48:13 -05:00
Help = config . HelpKVS {
2022-04-28 21:27:09 -04:00
config . HelpKV {
Key : DisplayName ,
Description : "Friendly display name for this Provider/App" + defaultHelpPostfix ( DisplayName ) ,
Optional : true ,
Type : "string" ,
} ,
2019-11-19 16:48:13 -05:00
config . HelpKV {
Key : ConfigURL ,
2022-04-26 23:11:37 -04:00
Description : ` openid discovery document e.g. "https://accounts.google.com/.well-known/openid-configuration" ` + defaultHelpPostfix ( ConfigURL ) ,
2019-11-19 16:48:13 -05:00
Type : "url" ,
} ,
2019-11-30 00:37:42 -05:00
config . HelpKV {
Key : ClientID ,
2022-04-26 23:11:37 -04:00
Description : ` unique public identifier for apps e.g. "292085223830.apps.googleusercontent.com" ` + defaultHelpPostfix ( ClientID ) ,
2019-11-30 00:37:42 -05:00
Type : "string" ,
2021-06-17 23:27:04 -04:00
} ,
config . HelpKV {
Key : ClientSecret ,
2022-04-26 23:11:37 -04:00
Description : ` secret for the unique public identifier for apps ` + defaultHelpPostfix ( ClientSecret ) ,
2022-07-05 21:18:04 -04:00
Sensitive : true ,
2021-06-17 23:27:04 -04:00
Type : "string" ,
2019-11-30 00:37:42 -05:00
} ,
2020-01-08 20:21:58 -05:00
config . HelpKV {
2022-04-28 21:27:09 -04:00
Key : RolePolicy ,
Description : ` Set the IAM access policies applicable to this client application and IDP e.g. "app-bucket-write,app-bucket-list" ` + defaultHelpPostfix ( RolePolicy ) ,
2020-01-08 20:21:58 -05:00
Optional : true ,
Type : "string" ,
} ,
2021-09-13 19:22:14 -04:00
config . HelpKV {
2022-04-28 21:27:09 -04:00
Key : ClaimName ,
Description : ` JWT canned policy claim name ` + defaultHelpPostfix ( ClaimName ) ,
2021-11-26 22:22:40 -05:00
Optional : true ,
Type : "string" ,
} ,
2020-06-22 15:08:50 -04:00
config . HelpKV {
Key : Scopes ,
2022-04-26 23:11:37 -04:00
Description : ` Comma separated list of OpenID scopes for server, defaults to advertised scopes from discovery document e.g. "email,admin" ` + defaultHelpPostfix ( Scopes ) ,
2020-06-22 15:08:50 -04:00
Optional : true ,
Type : "csv" ,
} ,
2021-07-09 14:17:21 -04:00
config . HelpKV {
Key : Vendor ,
2022-04-26 23:11:37 -04:00
Description : ` Specify vendor type for vendor specific behavior to checking validity of temporary credentials and service accounts on MinIO ` + defaultHelpPostfix ( Vendor ) ,
2021-07-09 14:17:21 -04:00
Optional : true ,
Type : "string" ,
} ,
2022-04-28 21:27:09 -04:00
config . HelpKV {
Key : ClaimUserinfo ,
Description : ` Enable fetching claims from UserInfo Endpoint for authenticated user ` + defaultHelpPostfix ( ClaimUserinfo ) ,
Optional : true ,
Type : "on|off" ,
} ,
2021-07-09 14:17:21 -04:00
config . HelpKV {
Key : KeyCloakRealm ,
2022-04-26 23:11:37 -04:00
Description : ` Specify Keycloak 'realm' name, only honored if vendor was set to 'keycloak' as value, if no realm is specified 'master' is default ` + defaultHelpPostfix ( KeyCloakRealm ) ,
2021-07-09 14:17:21 -04:00
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : KeyCloakAdminURL ,
2022-04-26 23:11:37 -04:00
Description : ` Specify Keycloak 'admin' REST API endpoint e.g. http://localhost:8080/auth/admin/ ` + defaultHelpPostfix ( KeyCloakAdminURL ) ,
2021-07-09 14:17:21 -04:00
Optional : true ,
Type : "string" ,
} ,
2021-11-16 21:40:39 -05:00
config . HelpKV {
Key : RedirectURIDynamic ,
2022-04-26 23:11:37 -04:00
Description : ` Enable 'Host' header based dynamic redirect URI ` + defaultHelpPostfix ( RedirectURIDynamic ) ,
2021-11-16 21:40:39 -05:00
Optional : true ,
Type : "on|off" ,
} ,
config . HelpKV {
Key : ClaimPrefix ,
2022-04-26 23:11:37 -04:00
Description : ` [DEPRECATED use 'claim_name'] JWT claim namespace prefix e.g. "customer1/" ` + defaultHelpPostfix ( ClaimPrefix ) ,
2021-11-16 21:40:39 -05:00
Optional : true ,
Type : "string" ,
} ,
config . HelpKV {
Key : RedirectURI ,
2022-04-26 23:11:37 -04:00
Description : ` [DEPRECATED use env 'MINIO_BROWSER_REDIRECT_URL'] Configure custom redirect_uri for OpenID login flow callback ` + defaultHelpPostfix ( RedirectURI ) ,
2021-11-16 21:40:39 -05:00
Optional : true ,
Type : "string" ,
} ,
2019-11-19 16:48:13 -05:00
config . HelpKV {
Key : config . Comment ,
2019-12-04 18:32:37 -05:00
Description : config . DefaultComment ,
2019-11-19 16:48:13 -05:00
Optional : true ,
Type : "sentence" ,
} ,
2019-10-23 01:59:13 -04:00
}
)