Documentation ¶
Index ¶
- type AccessToken
- type AccessTokenImpl
- type AccessTokenSession
- type Client
- type ClientRequest
- type ClientTokenSession
- type Config
- type Factory
- type Prompt
- type PromptAnswer
- type PromptSorting
- type PromptsResp
- type StaleAccessToken
- type Token
- type TokenImpl
- type TokenInfo
- type TokenResp
- type UAA
- type UAAImpl
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessToken ¶
type AccessToken interface { Token RefreshToken() Token Refresh() (AccessToken, error) }
AccessToken is a token that can be refreshed.
type AccessTokenImpl ¶
type AccessTokenImpl struct {
// contains filtered or unexported fields
}
func (AccessTokenImpl) Refresh ¶
func (t AccessTokenImpl) Refresh() (AccessToken, error)
func (AccessTokenImpl) RefreshToken ¶
func (t AccessTokenImpl) RefreshToken() Token
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(accessToken StaleAccessToken) *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 (Client) ClientCredentialsGrant ¶
func (Client) OwnerPasswordCredentialsGrant ¶
func (c Client) OwnerPasswordCredentialsGrant(answers []PromptAnswer) (TokenResp, error)
func (Client) Prompts ¶
func (c Client) Prompts() (PromptsResp, error)
type ClientRequest ¶
type ClientRequest struct {
// contains filtered or unexported fields
}
func NewClientRequest ¶
func NewClientRequest( endpoint string, httpClient boshhttp.HTTPClient, logger boshlog.Logger, ) ClientRequest
func (ClientRequest) Get ¶
func (r ClientRequest) Get(path string, response interface{}) error
type ClientTokenSession ¶
type ClientTokenSession struct {
// contains filtered or unexported fields
}
func NewClientTokenSession ¶
func NewClientTokenSession(uaa UAA) *ClientTokenSession
type Config ¶
type Config struct { Host string Port int Path string Client string ClientSecret string CACert string }
func NewConfigFromURL ¶
type Prompt ¶
type Prompt struct { Key string // e.g. "username" Type string // e.g. "text", "password" Label string // e.g. "Username" }
func (Prompt) IsPassword ¶
type PromptAnswer ¶
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 StaleAccessToken ¶
type StaleAccessToken interface { RefreshToken() Token Refresh() (AccessToken, error) }
StaleAccessToken represents a token that should only be refreshed. Its value cannot be retrieved since it's stale hence should not be used.
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 ¶
type UAA ¶
type UAA interface { NewStaleAccessToken(refreshValue string) StaleAccessToken Prompts() ([]Prompt, error) ClientCredentialsGrant() (Token, error) OwnerPasswordCredentialsGrant([]PromptAnswer) (AccessToken, error) }
type UAAImpl ¶
type UAAImpl struct {
// contains filtered or unexported fields
}
func (UAAImpl) ClientCredentialsGrant ¶
func (UAAImpl) NewStaleAccessToken ¶
func (u UAAImpl) NewStaleAccessToken(refreshValue string) StaleAccessToken
func (UAAImpl) OwnerPasswordCredentialsGrant ¶
func (u UAAImpl) OwnerPasswordCredentialsGrant(answers []PromptAnswer) (AccessToken, error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.