Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetRootCmd ¶
func TokenSource ¶
func TokenSource() (oauth2.TokenSource, error)
TokenSource returns a cached application default credentials or falls back to the compute token source
func WriteApplicationDefaultCredentials ¶
func WriteApplicationDefaultCredentials(adc *ApplicationCredentials) error
WriteApplicationDefaultCredentials idempotently writes out the application default credentials to disk
Types ¶
type ApplicationCredentials ¶ added in v0.0.5
type ApplicationCredentials struct { ClientID string `json:"client_id,omitempty"` ClientSecret string `json:"client_secret,omitempty"` QuotaProjectId string `json:"quota_project_id,omitempty"` AccessToken string `json:"access_token,omitempty"` AccessTokenExpiry time.Time `json:"access_token_expiry,omitempty"` RefreshToken string `json:"refresh_token,omitempty"` Type string `json:"type,omitempty"` AuthUri string `json:"auth_uri,omitempty"` TokenUri string `json:"token_uri,omitempty"` // service account fields ProjectID string `json:"project_id,omitempty"` PrivateKeyID string `json:"private_key_id,omitempty"` PrivateKey string `json:"private_key,omitempty"` ClientEmail string `json:"client_email,omitempty"` AuthProviderX509CertUrl string `json:"auth_provider_x509_cert_url,omitempty"` ClientX509CertUrl string `json:"client_x509_cert_url,omitempty"` // contains filtered or unexported fields }
ApplicationCredentials is the a struct representing the application_default_credentials.json format. We add access_token and access_token_expiry for easy token caching and refresh.
func ReadApplicationDefaultCredentials ¶
func ReadApplicationDefaultCredentials() (*ApplicationCredentials, error)
func (*ApplicationCredentials) SetContext ¶ added in v0.0.5
func (a *ApplicationCredentials) SetContext(ctx context.Context)
SetContext allows you to set the context on token refresh operations
func (*ApplicationCredentials) Token ¶ added in v0.0.5
func (a *ApplicationCredentials) Token() (*oauth2.Token, error)
Token ensures that we cache the access token. You should probably be using auth.Token() which conditionally calls this. This is slightly better than google.DefaultTokenSource because it has caching.