diff --git a/pkg/kubeapiserver/options/authentication.go b/pkg/kubeapiserver/options/authentication.go index e2b4ea38782..e77cd5526b0 100644 --- a/pkg/kubeapiserver/options/authentication.go +++ b/pkg/kubeapiserver/options/authentication.go @@ -203,7 +203,11 @@ func (o *BuiltInAuthenticationOptions) WithClientCert() *BuiltInAuthenticationOp // WithOIDC set default value for OIDC authentication func (o *BuiltInAuthenticationOptions) WithOIDC() *BuiltInAuthenticationOptions { - o.OIDC = &OIDCAuthenticationOptions{areFlagsConfigured: func() bool { return false }} + o.OIDC = &OIDCAuthenticationOptions{ + areFlagsConfigured: func() bool { return false }, + UsernameClaim: "sub", + SigningAlgs: []string{"RS256"}, + } return o } @@ -353,33 +357,33 @@ func (o *BuiltInAuthenticationOptions) AddFlags(fs *pflag.FlagSet) { "The URL of the OpenID issuer, only HTTPS scheme will be accepted. "+ "If set, it will be used to verify the OIDC JSON Web Token (JWT).") - fs.StringVar(&o.OIDC.ClientID, oidcClientIDFlag, o.OIDC.ClientID, + fs.StringVar(&o.OIDC.ClientID, oidcClientIDFlag, o.OIDC.ClientID, ""+ "The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.") fs.StringVar(&o.OIDC.CAFile, oidcCAFileFlag, o.OIDC.CAFile, ""+ "If set, the OpenID server's certificate will be verified by one of the authorities "+ "in the oidc-ca-file, otherwise the host's root CA set will be used.") - fs.StringVar(&o.OIDC.UsernameClaim, oidcUsernameClaimFlag, "sub", ""+ + fs.StringVar(&o.OIDC.UsernameClaim, oidcUsernameClaimFlag, o.OIDC.UsernameClaim, ""+ "The OpenID claim to use as the user name. Note that claims other than the default ('sub') "+ "is not guaranteed to be unique and immutable. This flag is experimental, please see "+ "the authentication documentation for further details.") - fs.StringVar(&o.OIDC.UsernamePrefix, oidcUsernamePrefixFlag, "", ""+ + fs.StringVar(&o.OIDC.UsernamePrefix, oidcUsernamePrefixFlag, o.OIDC.UsernamePrefix, ""+ "If provided, all usernames will be prefixed with this value. If not provided, "+ "username claims other than 'email' are prefixed by the issuer URL to avoid "+ "clashes. To skip any prefixing, provide the value '-'.") - fs.StringVar(&o.OIDC.GroupsClaim, oidcGroupsClaimFlag, "", ""+ + fs.StringVar(&o.OIDC.GroupsClaim, oidcGroupsClaimFlag, o.OIDC.GroupsClaim, ""+ "If provided, the name of a custom OpenID Connect claim for specifying user groups. "+ "The claim value is expected to be a string or array of strings. This flag is experimental, "+ "please see the authentication documentation for further details.") - fs.StringVar(&o.OIDC.GroupsPrefix, oidcGroupsPrefixFlag, "", ""+ + fs.StringVar(&o.OIDC.GroupsPrefix, oidcGroupsPrefixFlag, o.OIDC.GroupsPrefix, ""+ "If provided, all groups will be prefixed with this value to prevent conflicts with "+ "other authentication strategies.") - fs.StringSliceVar(&o.OIDC.SigningAlgs, oidcSigningAlgsFlag, []string{"RS256"}, ""+ + fs.StringSliceVar(&o.OIDC.SigningAlgs, oidcSigningAlgsFlag, o.OIDC.SigningAlgs, ""+ "Comma-separated list of allowed JOSE asymmetric signing algorithms. JWTs with a "+ "supported 'alg' header values are: RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512. "+ "Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1.")