swagger

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2020 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes a oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {
	AuthApi *AuthApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the authproxy OpenAPI API v1.0 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

Change base path to allow switching to mocks

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the swagger operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

type AuthApiService

type AuthApiService service

func (*AuthApiService) Authenticate

AuthApiService verifies user credentials authenticates users

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param body TokenReviewRequest object that needs to be verified

@return TokenReviewRequest

func (*AuthApiService) Login

AuthApiService issues tokens for cluster access login users

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return TokenReviewRequest

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	HTTPClient    *http.Client
}

func NewConfiguration

func NewConfiguration() *Configuration

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

type GenericSwaggerError

type GenericSwaggerError struct {
	// contains filtered or unexported fields
}

GenericSwaggerError Provides access to the body, error and model on returned errors.

func (GenericSwaggerError) Body

func (e GenericSwaggerError) Body() []byte

Body returns the raw bytes of the response

func (GenericSwaggerError) Error

func (e GenericSwaggerError) Error() string

Error returns non-empty string if there was an error.

func (GenericSwaggerError) Model

func (e GenericSwaggerError) Model() interface{}

Model returns the unpacked model of the error

type Principal

type Principal struct {
	// The name that uniquely identifies this user among all active users
	Username string `json:"Username,omitempty"`
	// The pasword of the user
	Password string `json:"Password,omitempty"`
}

Principal contains information about the user

type TokenReviewRequest

type TokenReviewRequest struct {
	Kind       string             `json:"kind,omitempty"`
	ApiVersion string             `json:"apiVersion,omitempty"`
	Spec       *TokenReviewSpec   `json:"spec,omitempty"`
	Status     *TokenReviewStatus `json:"status,omitempty"`
}

TokenReviewRequest is issued by K8s to this service

type TokenReviewSpec

type TokenReviewSpec struct {
	Token string `json:"token,omitempty"`
}

TokenReviewSpec contains the token being reviewed

type TokenReviewStatus

type TokenReviewStatus struct {
	// Authenticated is true if the token is valid
	Authenticated bool      `json:"authenticated,omitempty"`
	User          *UserInfo `json:"user,omitempty"`
}

TokenReviewStatus is the result of the token authentication request

type UserInfo

type UserInfo struct {
	// The name that uniquely identifies this user among all active users
	Username string `json:"username,omitempty"`
	// A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs
	Uid string `json:"uid,omitempty"`
	// The names of groups this user is a part of
	Groups []string `json:"groups,omitempty"`
	// Any additional information provided by the authenticator
	Extra *interface{} `json:"extra,omitempty"`
}

UserInfo contains information about the user

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL