Documentation ¶
Index ¶
- type ClientCertAuthenticationOptions
- type DelegatingAuthenticationOptions
- type DelegatingAuthorizationOptions
- type OpenShiftProvider
- func (p *OpenShiftProvider) Bind(flags *flag.FlagSet)
- func (p *OpenShiftProvider) Complete(data *providers.ProviderData, reviewURL *url.URL) error
- func (p *OpenShiftProvider) GetEmailAddress(s *providers.SessionState) (string, error)
- func (p *OpenShiftProvider) GetLoginURL() (*url.URL, error)
- func (p *OpenShiftProvider) GetRedeemURL() (*url.URL, error)
- func (p *OpenShiftProvider) GetReviewCAs() []string
- func (p *OpenShiftProvider) LoadDefaults(serviceAccount string, reviewJSON, reviewByHostJSON, resources string) (*providers.ProviderData, error)
- func (p *OpenShiftProvider) Redeem(redeemURL *url.URL, redirectURL, code string) (s *providers.SessionState, err error)
- func (p *OpenShiftProvider) ReviewUser(name, accessToken, host string) error
- func (p *OpenShiftProvider) SetClientCAFile(file string)
- func (p *OpenShiftProvider) SetReviewCAs(cas []string)
- func (p *OpenShiftProvider) ValidateRequest(req *http.Request) (*providers.SessionState, error)
- type RequestHeaderAuthenticationOptions
- type StringSlice
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientCertAuthenticationOptions ¶
type ClientCertAuthenticationOptions struct { // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates ClientCA string }
type DelegatingAuthenticationOptions ¶
type DelegatingAuthenticationOptions struct { // RemoteKubeConfigFile is the file to use to connect to a "normal" kube API server which hosts the // TokenAccessReview.authentication.k8s.io endpoint for checking tokens. RemoteKubeConfigFile string // CacheTTL is the length of time that a token authentication answer will be cached. CacheTTL time.Duration ClientCert ClientCertAuthenticationOptions RequestHeader RequestHeaderAuthenticationOptions SkipInClusterLookup bool }
DelegatingAuthenticationOptions provides an easy way for composing API servers to delegate their authentication to the root kube API server. The API federator will act as a front proxy and direction connections will be able to delegate to the core kube API server
func NewDelegatingAuthenticationOptions ¶
func NewDelegatingAuthenticationOptions() *DelegatingAuthenticationOptions
func (*DelegatingAuthenticationOptions) AddFlags ¶
func (s *DelegatingAuthenticationOptions) AddFlags(fs *flag.FlagSet)
func (*DelegatingAuthenticationOptions) ToAuthenticationConfig ¶
func (s *DelegatingAuthenticationOptions) ToAuthenticationConfig() (authenticatorfactory.DelegatingAuthenticatorConfig, error)
func (*DelegatingAuthenticationOptions) Validate ¶
func (s *DelegatingAuthenticationOptions) Validate() []error
type DelegatingAuthorizationOptions ¶
type DelegatingAuthorizationOptions struct { // RemoteKubeConfigFile is the file to use to connect to a "normal" kube API server which hosts the // SubjectAccessReview.authorization.k8s.io endpoint for checking tokens. RemoteKubeConfigFile string // AllowCacheTTL is the length of time that a successful authorization response will be cached AllowCacheTTL time.Duration // DenyCacheTTL is the length of time that an unsuccessful authorization response will be cached. // You generally want more responsive, "deny, try again" flows. DenyCacheTTL time.Duration }
DelegatingAuthorizationOptions provides an easy way for composing API servers to delegate their authorization to the root kube API server
func NewDelegatingAuthorizationOptions ¶
func NewDelegatingAuthorizationOptions() *DelegatingAuthorizationOptions
func (*DelegatingAuthorizationOptions) AddFlags ¶
func (s *DelegatingAuthorizationOptions) AddFlags(fs *flag.FlagSet)
func (*DelegatingAuthorizationOptions) ToAuthorizationConfig ¶
func (s *DelegatingAuthorizationOptions) ToAuthorizationConfig() (authorizerfactory.DelegatingAuthorizerConfig, error)
func (*DelegatingAuthorizationOptions) Validate ¶
func (s *DelegatingAuthorizationOptions) Validate() []error
type OpenShiftProvider ¶
type OpenShiftProvider struct { *providers.ProviderData ReviewURL *url.URL ReviewCAs []string AuthenticationOptions DelegatingAuthenticationOptions AuthorizationOptions DelegatingAuthorizationOptions // contains filtered or unexported fields }
func New ¶
func New() *OpenShiftProvider
func (*OpenShiftProvider) Bind ¶
func (p *OpenShiftProvider) Bind(flags *flag.FlagSet)
func (*OpenShiftProvider) Complete ¶
func (p *OpenShiftProvider) Complete(data *providers.ProviderData, reviewURL *url.URL) error
Complete performs final setup on the provider or returns an error.
func (*OpenShiftProvider) GetEmailAddress ¶
func (p *OpenShiftProvider) GetEmailAddress(s *providers.SessionState) (string, error)
func (*OpenShiftProvider) GetLoginURL ¶
func (p *OpenShiftProvider) GetLoginURL() (*url.URL, error)
func (*OpenShiftProvider) GetRedeemURL ¶
func (p *OpenShiftProvider) GetRedeemURL() (*url.URL, error)
func (*OpenShiftProvider) GetReviewCAs ¶
func (p *OpenShiftProvider) GetReviewCAs() []string
func (*OpenShiftProvider) LoadDefaults ¶
func (p *OpenShiftProvider) LoadDefaults(serviceAccount string, reviewJSON, reviewByHostJSON, resources string) (*providers.ProviderData, error)
LoadDefaults accepts configuration and loads defaults from the environment, or returns an error. The provider may partially initialize config for subsequent calls.
func (*OpenShiftProvider) Redeem ¶
func (p *OpenShiftProvider) Redeem(redeemURL *url.URL, redirectURL, code string) (s *providers.SessionState, err error)
Copied up only to set a different client CA
func (*OpenShiftProvider) ReviewUser ¶
func (p *OpenShiftProvider) ReviewUser(name, accessToken, host string) error
func (*OpenShiftProvider) SetClientCAFile ¶
func (p *OpenShiftProvider) SetClientCAFile(file string)
func (*OpenShiftProvider) SetReviewCAs ¶
func (p *OpenShiftProvider) SetReviewCAs(cas []string)
func (*OpenShiftProvider) ValidateRequest ¶
func (p *OpenShiftProvider) ValidateRequest(req *http.Request) (*providers.SessionState, error)
type RequestHeaderAuthenticationOptions ¶
type RequestHeaderAuthenticationOptions struct { UsernameHeaders StringSlice GroupHeaders StringSlice ExtraHeaderPrefixes StringSlice ClientCAFile string AllowedNames StringSlice }
func (*RequestHeaderAuthenticationOptions) AddFlags ¶
func (s *RequestHeaderAuthenticationOptions) AddFlags(fs *flag.FlagSet)
func (*RequestHeaderAuthenticationOptions) ToAuthenticationRequestHeaderConfig ¶
func (s *RequestHeaderAuthenticationOptions) ToAuthenticationRequestHeaderConfig() *authenticatorfactory.RequestHeaderConfig
ToAuthenticationRequestHeaderConfig returns a RequestHeaderConfig config object for these options if necessary, nil otherwise.
type StringSlice ¶
type StringSlice []string
func (*StringSlice) Set ¶
func (s *StringSlice) Set(value string) error
func (*StringSlice) String ¶
func (s *StringSlice) String() string