...

Package externalaccountauthorizeduser

import "golang.org/x/oauth2/google/internal/externalaccountauthorizeduser"
Overview
Index

Overview ▾

type Config

type Config struct {
    // Audience is the Secure Token Service (STS) audience which contains the resource name for the workforce pool and
    // the provider identifier in that pool.
    Audience string
    // RefreshToken is the optional OAuth 2.0 refresh token. If specified, credentials can be refreshed.
    RefreshToken string
    // TokenURL is the optional STS token exchange endpoint for refresh. Must be specified for refresh, can be left as
    // None if the token can not be refreshed.
    TokenURL string
    // TokenInfoURL is the optional STS endpoint URL for token introspection.
    TokenInfoURL string
    // ClientID is only required in conjunction with ClientSecret, as described above.
    ClientID string
    // ClientSecret is currently only required if token_info endpoint also needs to be called with the generated GCP
    // access token. When provided, STS will be called with additional basic authentication using client_id as username
    // and client_secret as password.
    ClientSecret string
    // Token is the OAuth2.0 access token. Can be nil if refresh information is provided.
    Token string
    // Expiry is the optional expiration datetime of the OAuth 2.0 access token.
    Expiry time.Time
    // RevokeURL is the optional STS endpoint URL for revoking tokens.
    RevokeURL string
    // QuotaProjectID is the optional project ID used for quota and billing. This project may be different from the
    // project used to create the credentials.
    QuotaProjectID string
    Scopes         []string
}

func (*Config) TokenSource

func (c *Config) TokenSource(ctx context.Context) (oauth2.TokenSource, error)