Documentation ¶
Index ¶
- Constants
- type HTTPAuthProvider
- type HTTPTransport
- type Provider
- func NewAuthDisabled() Provider
- func NewAuthenticationAthenz(providerDomain string, tenantDomain string, tenantService string, ...) Provider
- func NewAuthenticationAthenzWithParams(params map[string]string) (Provider, error)
- func NewAuthenticationFromTLSCertSupplier(tlsCertSupplier func() (*tls.Certificate, error)) Provider
- func NewAuthenticationOAuth2(issuer oauth2.Issuer, store store.Store) Provider
- func NewAuthenticationOAuth2WithParams(params map[string]string) (Provider, error)
- func NewAuthenticationTLS(certificatePath string, privateKeyPath string) Provider
- func NewAuthenticationTLSWithParams(params map[string]string) Provider
- func NewAuthenticationToken(token string) Provider
- func NewAuthenticationTokenFromFile(tokenFilePath string) Provider
- func NewAuthenticationTokenFromSupplier(tokenSupplier func() (string, error)) Provider
- func NewAuthenticationTokenWithParams(params map[string]string) (Provider, error)
- func NewProvider(name string, params string) (Provider, error)
Constants ¶
const ( ConfigParamType = "type" ConfigParamTypeClientCredentials = "client_credentials" ConfigParamIssuerURL = "issuerUrl" ConfigParamAudience = "audience" ConfigParamScope = "scope" ConfigParamKeyFile = "privateKey" ConfigParamClientID = "clientId" )
const (
AthenzRoleAuthHeader = "Athenz-Role-Auth"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HTTPAuthProvider ¶
type HTTPAuthProvider interface { RoundTrip(req *http.Request) (*http.Response, error) Transport() http.RoundTripper WithTransport(tripper http.RoundTripper) error }
type HTTPTransport ¶
type HTTPTransport struct {
T http.RoundTripper
}
type Provider ¶
type Provider interface { // Init the authentication provider. Init() error // Name func returns the identifier for this authentication method. Name() string // GetTLSCertificate returns a client certificate chain, or nil if the data are not available GetTLSCertificate() (*tls.Certificate, error) // GetData returns the authentication data identifying this client that will be sent to the broker. GetData() ([]byte, error) io.Closer HTTPAuthProvider }
Provider is an interface of authentication providers.
func NewAuthDisabled ¶
func NewAuthDisabled() Provider
NewAuthDisabled return a interface of Provider
func NewAuthenticationAthenz ¶
func NewAuthenticationFromTLSCertSupplier ¶
func NewAuthenticationFromTLSCertSupplier(tlsCertSupplier func() (*tls.Certificate, error)) Provider
func NewAuthenticationOAuth2 ¶
func NewAuthenticationOAuth2WithParams ¶
NewAuthenticationOAuth2WithParams return a interface of Provider with string map.
func NewAuthenticationTLS ¶
NewAuthenticationTLS initialize the authentication provider
func NewAuthenticationTLSWithParams ¶
NewAuthenticationTLSWithParams initialize the authentication provider with map param.
func NewAuthenticationToken ¶
NewAuthenticationToken returns a token auth provider that will use the specified token to talk with Pulsar brokers
func NewAuthenticationTokenFromFile ¶
NewAuthenticationTokenFromFile return a interface of a Provider with a string token file path.
func NewAuthenticationTokenFromSupplier ¶
NewAuthenticationTokenFromSupplier returns a token auth provider that get the token data from a user supplied function. The function is invoked each time the client library needs to use a token in talking with Pulsar brokers
func NewAuthenticationTokenWithParams ¶
NewAuthenticationTokenWithParams return a interface of Provider with string map.
func NewProvider ¶
NewProvider get/create an authentication data provider which provides the data that this client will be sent to the broker. Some authentication method need to auth between each client channel. So it need the broker, who it will talk to.