Documentation ¶
Index ¶
- Variables
- 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 ConfigTuningEntry
- type ConfigVersion
- 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 ¶
View Source
var DefaultConfigTuningEntry = ConfigTuningEntry{ ProviderTimeoutSeconds: 30, ProviderTimeoutExpiryLeewayFactor: 1.5, RefreshCheckIntervalSeconds: 60, RefreshExpiryDeltaFactor: 1.2, ReapCheckIntervalSeconds: 300, ReapDryRun: false, ReapNonRefreshableSeconds: 86400, ReapRevokedSeconds: 3600, ReapTransientErrorAttempts: 10, ReapTransientErrorSeconds: 86400, }
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 { Version ConfigVersion `json:"version"` 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"` Tuning ConfigTuningEntry `json:"tuning"` }
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 ConfigTuningEntry ¶ added in v2.1.1
type ConfigTuningEntry struct { ProviderTimeoutSeconds int `json:"provider_timeout_seconds"` ProviderTimeoutExpiryLeewayFactor float64 `json:"provider_timeout_expiry_leeway_factor"` RefreshCheckIntervalSeconds int `json:"refresh_check_interval_seconds"` RefreshExpiryDeltaFactor float64 `json:"refresh_expiry_delta_factor"` ReapCheckIntervalSeconds int `json:"reap_check_interval_seconds"` ReapDryRun bool `json:"reap_dry_run"` ReapNonRefreshableSeconds int `json:"reap_non_refreshable_seconds"` ReapRevokedSeconds int `json:"reap_revoked_seconds"` ReapTransientErrorAttempts int `json:"reap_transient_error_attempts"` ReapTransientErrorSeconds int `json:"reap_transient_error_seconds"` }
type ConfigVersion ¶ added in v2.1.1
type ConfigVersion int
const ( ConfigVersionInitial ConfigVersion = iota ConfigVersion1 ConfigVersion2 ConfigVersionLatest = ConfigVersion2 )
func (ConfigVersion) SupportsTuningProviderTimeout ¶ added in v2.2.0
func (cv ConfigVersion) SupportsTuningProviderTimeout() bool
func (ConfigVersion) SupportsTuningReaper ¶ added in v2.2.0
func (cv ConfigVersion) SupportsTuningReaper() bool
func (ConfigVersion) SupportsTuningRefresh ¶ added in v2.1.1
func (cv ConfigVersion) SupportsTuningRefresh() bool
func (ConfigVersion) SupportsTuningRefreshExpiryDelta ¶ added in v2.2.0
func (cv ConfigVersion) SupportsTuningRefreshExpiryDelta() bool
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.