Documentation
      ¶
    
    
  
    
  
    Index ¶
- func IsConfigKey(key string) bool
 - type AuthCodeEntry
 - type AuthCodeKey
 - type AuthCodeKeyer
 - type AuthCodeManager
 - func (acm *AuthCodeManager) DeleteAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer) error
 - func (acm *AuthCodeManager) DeleteDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer) error
 - func (acm *AuthCodeManager) ForEachAuthCodeKey(ctx context.Context, fn func(AuthCodeKeyer)) error
 - func (acm *AuthCodeManager) ForEachDeviceAuthKey(ctx context.Context, fn func(AuthCodeKeyer)) error
 - func (acm *AuthCodeManager) ReadAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer) (*AuthCodeEntry, error)
 - func (acm *AuthCodeManager) ReadDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer) (*DeviceAuthEntry, error)
 - func (acm *AuthCodeManager) WithLock(keyer AuthCodeKeyer, fn func(*LockedAuthCodeManager) error) error
 - func (acm *AuthCodeManager) WriteAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer, entry *AuthCodeEntry) error
 - func (acm *AuthCodeManager) WriteDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer, entry *DeviceAuthEntry) error
 
- type ClientCredsEntry
 - type ClientCredsKey
 - type ClientCredsKeyer
 - type ClientCredsManager
 - func (ccm *ClientCredsManager) DeleteClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer) error
 - func (ccm *ClientCredsManager) ForEachClientCredsKey(ctx context.Context, fn func(ClientCredsKeyer)) error
 - func (ccm *ClientCredsManager) ReadClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer) (*ClientCredsEntry, error)
 - func (ccm *ClientCredsManager) WithLock(keyer ClientCredsKeyer, fn func(*LockedClientCredsManager) error) error
 - func (ccm *ClientCredsManager) WriteClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer, entry *ClientCredsEntry) error
 
- type ConfigEntry
 - type ConfigManager
 - func (cm *ConfigManager) DeleteConfig(ctx context.Context) error
 - func (cm *ConfigManager) ReadConfig(ctx context.Context) (*ConfigEntry, error)
 - func (cm *ConfigManager) WithLock(fn func(*LockedConfigManager) error) error
 - func (cm *ConfigManager) WriteConfig(ctx context.Context, entry *ConfigEntry) error
 
- type DeviceAuthEntry
 - type Holder
 - type LockedAuthCodeManager
 - func (lacm *LockedAuthCodeManager) DeleteAuthCodeEntry(ctx context.Context) error
 - func (lacm *LockedAuthCodeManager) DeleteDeviceAuthEntry(ctx context.Context) error
 - func (lacm *LockedAuthCodeManager) ReadAuthCodeEntry(ctx context.Context) (*AuthCodeEntry, error)
 - func (lacm *LockedAuthCodeManager) ReadDeviceAuthEntry(ctx context.Context) (*DeviceAuthEntry, error)
 - func (lacm *LockedAuthCodeManager) WriteAuthCodeEntry(ctx context.Context, entry *AuthCodeEntry) error
 - func (lacm *LockedAuthCodeManager) WriteDeviceAuthEntry(ctx context.Context, entry *DeviceAuthEntry) error
 
- type LockedClientCredsManager
 - func (lccm *LockedClientCredsManager) DeleteClientCredsEntry(ctx context.Context) error
 - func (lccm *LockedClientCredsManager) ReadClientCredsEntry(ctx context.Context) (*ClientCredsEntry, error)
 - func (lccm *LockedClientCredsManager) WriteClientCredsEntry(ctx context.Context, entry *ClientCredsEntry) error
 
- type LockedConfigManager
 - type Managers
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsConfigKey ¶
Types ¶
type AuthCodeEntry ¶
type AuthCodeEntry struct {
	// We embed a *provider.Token as the base type. This ensures compatibility
	// and keeps storage size reasonable because this will be the default
	// configuration.
	*provider.Token `json:",inline"`
	// LastIssueTime is the most recent time a token was successfully issued.
	LastIssueTime time.Time `json:"last_issue_time,omitempty"`
	// UserError is used to store a permanent error that indicates the end of
	// this token's usable lifespan.
	UserError string `json:"user_error,omitempty"`
	// TransientErrorsSinceLastIssue is a counter of the number of transient
	// errors encountered since the last time the token was successfully issued
	// (either originally or by refresh).
	TransientErrorsSinceLastIssue int `json:"transient_errors_since_last_issue,omitempty"`
	// If TransientErrorsSinceLastIssue > 0, this holds the last transient error
	// encountered to include as a warning (if the token is still valid) or
	// error on the response.
	LastTransientError string `json:"last_transient_error,omitempty"`
	// If the most recent exchange did not succeed, this holds the time that
	// exchange occurred.
	LastAttemptedIssueTime time.Time `json:"last_attempted_issue_time,omitempty"`
}
    func (*AuthCodeEntry) SetToken ¶
func (ace *AuthCodeEntry) SetToken(tok *provider.Token)
func (*AuthCodeEntry) SetTransientError ¶
func (ace *AuthCodeEntry) SetTransientError(err string)
func (*AuthCodeEntry) SetUserError ¶
func (ace *AuthCodeEntry) SetUserError(err string)
func (*AuthCodeEntry) TokenIssued ¶
func (ace *AuthCodeEntry) TokenIssued() bool
TokenIssued indicates whether a token has been issued at all.
For certain grant types, like device code flow, we may not have an access token yet. In that case, we must wait for a polling process to update this value. A temporary error will be returned.
type AuthCodeKey ¶
type AuthCodeKey string
func (AuthCodeKey) AuthCodeKey ¶
func (ack AuthCodeKey) AuthCodeKey() string
func (AuthCodeKey) DeviceAuthKey ¶
func (ack AuthCodeKey) DeviceAuthKey() string
type AuthCodeKeyer ¶
type AuthCodeKeyer interface {
	// AuthCodeKey returns the storage key for storing AuthCodeEntry objects.
	AuthCodeKey() string
	// DeviceAuthKey returns the storage key for storing DeviceAuthEntry
	// objects.
	DeviceAuthKey() string
}
    func AuthCodeName ¶
func AuthCodeName(name string) AuthCodeKeyer
type AuthCodeManager ¶
type AuthCodeManager struct {
	// contains filtered or unexported fields
}
    func (*AuthCodeManager) DeleteAuthCodeEntry ¶
func (acm *AuthCodeManager) DeleteAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer) error
func (*AuthCodeManager) DeleteDeviceAuthEntry ¶
func (acm *AuthCodeManager) DeleteDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer) error
func (*AuthCodeManager) ForEachAuthCodeKey ¶
func (acm *AuthCodeManager) ForEachAuthCodeKey(ctx context.Context, fn func(AuthCodeKeyer)) error
func (*AuthCodeManager) ForEachDeviceAuthKey ¶
func (acm *AuthCodeManager) ForEachDeviceAuthKey(ctx context.Context, fn func(AuthCodeKeyer)) error
func (*AuthCodeManager) ReadAuthCodeEntry ¶
func (acm *AuthCodeManager) ReadAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer) (*AuthCodeEntry, error)
func (*AuthCodeManager) ReadDeviceAuthEntry ¶
func (acm *AuthCodeManager) ReadDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer) (*DeviceAuthEntry, error)
func (*AuthCodeManager) WithLock ¶
func (acm *AuthCodeManager) WithLock(keyer AuthCodeKeyer, fn func(*LockedAuthCodeManager) error) error
func (*AuthCodeManager) WriteAuthCodeEntry ¶
func (acm *AuthCodeManager) WriteAuthCodeEntry(ctx context.Context, keyer AuthCodeKeyer, entry *AuthCodeEntry) error
func (*AuthCodeManager) WriteDeviceAuthEntry ¶
func (acm *AuthCodeManager) WriteDeviceAuthEntry(ctx context.Context, keyer AuthCodeKeyer, entry *DeviceAuthEntry) error
type ClientCredsEntry ¶
type ClientCredsKey ¶
type ClientCredsKey string
func (ClientCredsKey) ClientCredsKey ¶
func (ack ClientCredsKey) ClientCredsKey() string
type ClientCredsKeyer ¶
type ClientCredsKeyer interface {
	// ClientCredsKey returns the storage key for storing ClientCredsEntry
	// objects.
	ClientCredsKey() string
}
    func ClientCredsName ¶
func ClientCredsName(name string) ClientCredsKeyer
type ClientCredsManager ¶
type ClientCredsManager struct {
	// contains filtered or unexported fields
}
    func (*ClientCredsManager) DeleteClientCredsEntry ¶
func (ccm *ClientCredsManager) DeleteClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer) error
func (*ClientCredsManager) ForEachClientCredsKey ¶
func (ccm *ClientCredsManager) ForEachClientCredsKey(ctx context.Context, fn func(ClientCredsKeyer)) error
func (*ClientCredsManager) ReadClientCredsEntry ¶
func (ccm *ClientCredsManager) ReadClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer) (*ClientCredsEntry, error)
func (*ClientCredsManager) WithLock ¶
func (ccm *ClientCredsManager) WithLock(keyer ClientCredsKeyer, fn func(*LockedClientCredsManager) error) error
func (*ClientCredsManager) WriteClientCredsEntry ¶
func (ccm *ClientCredsManager) WriteClientCredsEntry(ctx context.Context, keyer ClientCredsKeyer, entry *ClientCredsEntry) error
type ConfigEntry ¶
type ConfigEntry struct {
	ClientID        string            `json:"client_id"`
	ClientSecret    string            `json:"client_secret"`
	AuthURLParams   map[string]string `json:"auth_url_params"`
	ProviderName    string            `json:"provider_name"`
	ProviderVersion int               `json:"provider_version"`
	ProviderOptions map[string]string `json:"provider_options"`
}
    type ConfigManager ¶
type ConfigManager struct {
	// contains filtered or unexported fields
}
    func (*ConfigManager) DeleteConfig ¶
func (cm *ConfigManager) DeleteConfig(ctx context.Context) error
func (*ConfigManager) ReadConfig ¶
func (cm *ConfigManager) ReadConfig(ctx context.Context) (*ConfigEntry, error)
func (*ConfigManager) WithLock ¶
func (cm *ConfigManager) WithLock(fn func(*LockedConfigManager) error) error
func (*ConfigManager) WriteConfig ¶
func (cm *ConfigManager) WriteConfig(ctx context.Context, entry *ConfigEntry) error
type DeviceAuthEntry ¶
type DeviceAuthEntry struct {
	DeviceCode             string            `json:"device_code"`
	Interval               int32             `json:"interval"`
	LastAttemptedIssueTime time.Time         `json:"last_attempted_issue_time"`
	ProviderOptions        map[string]string `json:"provider_options"`
}
    func (*DeviceAuthEntry) ShouldPoll ¶
func (dae *DeviceAuthEntry) ShouldPoll() bool
type LockedAuthCodeManager ¶
type LockedAuthCodeManager struct {
	// contains filtered or unexported fields
}
    func (*LockedAuthCodeManager) DeleteAuthCodeEntry ¶
func (lacm *LockedAuthCodeManager) DeleteAuthCodeEntry(ctx context.Context) error
func (*LockedAuthCodeManager) DeleteDeviceAuthEntry ¶
func (lacm *LockedAuthCodeManager) DeleteDeviceAuthEntry(ctx context.Context) error
func (*LockedAuthCodeManager) ReadAuthCodeEntry ¶
func (lacm *LockedAuthCodeManager) ReadAuthCodeEntry(ctx context.Context) (*AuthCodeEntry, error)
func (*LockedAuthCodeManager) ReadDeviceAuthEntry ¶
func (lacm *LockedAuthCodeManager) ReadDeviceAuthEntry(ctx context.Context) (*DeviceAuthEntry, error)
func (*LockedAuthCodeManager) WriteAuthCodeEntry ¶
func (lacm *LockedAuthCodeManager) WriteAuthCodeEntry(ctx context.Context, entry *AuthCodeEntry) error
func (*LockedAuthCodeManager) WriteDeviceAuthEntry ¶
func (lacm *LockedAuthCodeManager) WriteDeviceAuthEntry(ctx context.Context, entry *DeviceAuthEntry) error
type LockedClientCredsManager ¶
type LockedClientCredsManager struct {
	// contains filtered or unexported fields
}
    func (*LockedClientCredsManager) DeleteClientCredsEntry ¶
func (lccm *LockedClientCredsManager) DeleteClientCredsEntry(ctx context.Context) error
func (*LockedClientCredsManager) ReadClientCredsEntry ¶
func (lccm *LockedClientCredsManager) ReadClientCredsEntry(ctx context.Context) (*ClientCredsEntry, error)
func (*LockedClientCredsManager) WriteClientCredsEntry ¶
func (lccm *LockedClientCredsManager) WriteClientCredsEntry(ctx context.Context, entry *ClientCredsEntry) error
type LockedConfigManager ¶
type LockedConfigManager struct {
	// contains filtered or unexported fields
}
    func (*LockedConfigManager) DeleteConfig ¶
func (lcm *LockedConfigManager) DeleteConfig(ctx context.Context) error
func (*LockedConfigManager) ReadConfig ¶
func (lcm *LockedConfigManager) ReadConfig(ctx context.Context) (*ConfigEntry, error)
func (*LockedConfigManager) WriteConfig ¶
func (lcm *LockedConfigManager) WriteConfig(ctx context.Context, entry *ConfigEntry) error
type Managers ¶
type Managers struct {
	// contains filtered or unexported fields
}
    func (*Managers) AuthCode ¶
func (m *Managers) AuthCode() *AuthCodeManager
func (*Managers) ClientCreds ¶
func (m *Managers) ClientCreds() *ClientCredsManager
func (*Managers) Config ¶
func (m *Managers) Config() *ConfigManager
 Click to show internal directories. 
   Click to hide internal directories.