uaa

package
v5.5.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessToken

type AccessToken interface {
	Token
}

AccessToken is purely an access token. It does not contain a refresh token and cannot be refreshed for another token.

func NewAccessToken added in v5.4.0

func NewAccessToken(accessValueType, accessValue string) AccessToken

type AccessTokenImpl

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

func (AccessTokenImpl) IsValid added in v5.4.0

func (t AccessTokenImpl) IsValid() bool

func (AccessTokenImpl) Type

func (t AccessTokenImpl) Type() string

func (AccessTokenImpl) Value

func (t AccessTokenImpl) Value() string

type AccessTokenSession

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

func NewAccessTokenSession

func NewAccessTokenSession(uaa UAA, token AccessToken, config ConfigUpdater, environment string) *AccessTokenSession

func (*AccessTokenSession) TokenFunc

func (s *AccessTokenSession) TokenFunc(retried bool) (string, error)

TokenFunc retrieves new access token on first time use instead of using existing access token optimizing for token being valid for a longer period of time. Subsequent calls will reuse access token until it's time for it to be refreshed.

type Client

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

func NewClient

func NewClient(endpoint string, client string, clientSecret string, httpClient *httpclient.HTTPClient, logger boshlog.Logger) Client

func (Client) ClientCredentialsGrant

func (c Client) ClientCredentialsGrant() (TokenResp, error)

func (Client) OwnerPasswordCredentialsGrant

func (c Client) OwnerPasswordCredentialsGrant(answers []PromptAnswer) (TokenResp, error)

func (Client) Prompts

func (c Client) Prompts() (PromptsResp, error)

func (Client) RefreshTokenGrant

func (c Client) RefreshTokenGrant(refreshValue string) (TokenResp, error)

type ClientRequest

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

func NewClientRequest

func NewClientRequest(
	endpoint string,
	client string,
	clientSecret string,
	httpClient *httpclient.HTTPClient,
	logger boshlog.Logger,
) ClientRequest

func (ClientRequest) Get

func (r ClientRequest) Get(path string, response interface{}) error

func (ClientRequest) Post

func (r ClientRequest) Post(path string, payload []byte, response interface{}) error

type ClientTokenSession

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

func NewClientTokenSession

func NewClientTokenSession(uaa UAA) *ClientTokenSession

func (*ClientTokenSession) TokenFunc

func (c *ClientTokenSession) TokenFunc(retried bool) (string, error)

type Config

type Config struct {
	Host string
	Port int
	Path string

	Client       string
	ClientSecret string

	CACert string
}

func NewConfigFromURL

func NewConfigFromURL(url string) (Config, error)

func (Config) CACertPool

func (c Config) CACertPool() (*x509.CertPool, error)

func (Config) Validate

func (c Config) Validate() error

type ConfigUpdater added in v5.4.0

type ConfigUpdater interface {
	UpdateConfigWithToken(environment string, token AccessToken) error
	Save() error
}

type Factory

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

func NewFactory

func NewFactory(logger boshlog.Logger) Factory

func (Factory) New

func (f Factory) New(config Config) (UAA, error)

type Prompt

type Prompt struct {
	Key   string // e.g. "username"
	Type  string // e.g. "text", "password"
	Label string // e.g. "Username"
}

func (Prompt) IsPassword

func (p Prompt) IsPassword() bool

type PromptAnswer

type PromptAnswer struct {
	Key   string // e.g. "username"
	Value string
}

type PromptSorting

type PromptSorting []Prompt

func (PromptSorting) Len

func (s PromptSorting) Len() int

func (PromptSorting) Less

func (s PromptSorting) Less(i, j int) bool

func (PromptSorting) Swap

func (s PromptSorting) Swap(i, j int)

type PromptsResp

type PromptsResp struct {
	Prompts map[string][]string // e.g. {"username": ["text", "Username"]}
}

type RefreshableAccessToken added in v5.4.0

type RefreshableAccessToken interface {
	AccessToken
	RefreshValue() string
}

RefreshableAccessToken is an access token with a refresh token that can be used to get another access token.

func NewRefreshableAccessToken added in v5.4.0

func NewRefreshableAccessToken(accessValueType, accessValue, refreshValue string) RefreshableAccessToken

type RefreshableAccessTokenImpl added in v5.4.0

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

func (RefreshableAccessTokenImpl) IsValid added in v5.4.0

func (t RefreshableAccessTokenImpl) IsValid() bool

func (RefreshableAccessTokenImpl) RefreshValue added in v5.4.0

func (t RefreshableAccessTokenImpl) RefreshValue() string

func (RefreshableAccessTokenImpl) Type added in v5.4.0

func (RefreshableAccessTokenImpl) Value added in v5.4.0

type Token

type Token interface {
	Type() string
	Value() string
	IsValid() bool
}

Token is a plain token with a value.

type TokenInfo

type TokenInfo struct {
	Username  string   `json:"user_name"` // e.g. "admin",
	Scopes    []string `json:"scope"`     // e.g. ["openid","bosh.admin"]
	ExpiredAt int      `json:"exp"`
}

func NewTokenInfoFromValue

func NewTokenInfoFromValue(value string) (TokenInfo, error)

type TokenResp

type TokenResp struct {
	Type         string `json:"token_type"`    // e.g. "bearer"
	AccessToken  string `json:"access_token"`  // e.g. "eyJhbGciOiJSUzI1NiJ9.eyJq<snip>fQ.Mr<snip>RawG"
	RefreshToken string `json:"refresh_token"` // e.g. "eyJhbGciOiJSUzI1NiJ9.eyJq<snip>fQ.Mr<snip>RawG"
}

type UAA

type UAA interface {
	Prompts() ([]Prompt, error)

	RefreshTokenGrant(string) (AccessToken, error)
	ClientCredentialsGrant() (AccessToken, error)
	OwnerPasswordCredentialsGrant([]PromptAnswer) (AccessToken, error)
}

type UAAImpl

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

func (UAAImpl) ClientCredentialsGrant

func (u UAAImpl) ClientCredentialsGrant() (AccessToken, error)

func (UAAImpl) OwnerPasswordCredentialsGrant

func (u UAAImpl) OwnerPasswordCredentialsGrant(answers []PromptAnswer) (AccessToken, error)

func (UAAImpl) Prompts

func (u UAAImpl) Prompts() ([]Prompt, error)

func (UAAImpl) RefreshTokenGrant added in v5.4.0

func (u UAAImpl) RefreshTokenGrant(refreshValue string) (AccessToken, error)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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