oauth2: golang.org/x/oauth2/clientcredentials Index | Files

package clientcredentials

import "golang.org/x/oauth2/clientcredentials"

Package clientcredentials implements the OAuth2.0 "client credentials" token flow, also known as the "two-legged OAuth 2.0".

This should be used when the client is acting on its own behalf or when the client is the resource owner. It may also be used when requesting access to protected resources based on an authorization previously arranged with the authorization server.

See https://tools.ietf.org/html/rfc6749#section-4.4


Package Files


type Config Uses

type Config struct {
    // ClientID is the application's ID.
    ClientID string

    // ClientSecret is the application's secret.
    ClientSecret string

    // TokenURL is the resource server's token endpoint
    // URL. This is a constant specific to each server.
    TokenURL string

    // Scope specifies optional requested permissions.
    Scopes []string

    // EndpointParams specifies additional parameters for requests to the token endpoint.
    EndpointParams url.Values

    // AuthStyle optionally specifies how the endpoint wants the
    // client ID & client secret sent. The zero value means to
    // auto-detect.
    AuthStyle oauth2.AuthStyle

Config describes a 2-legged OAuth2 flow, with both the client application information and the server's endpoint URLs.

func (*Config) Client Uses

func (c *Config) Client(ctx context.Context) *http.Client

Client returns an HTTP client using the provided token. The token will auto-refresh as necessary.

The provided context optionally controls which HTTP client is returned. See the oauth2.HTTPClient variable.

The returned Client and its Transport should not be modified.

func (*Config) Token Uses

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

Token uses client credentials to retrieve a token.

The provided context optionally controls which HTTP client is used. See the oauth2.HTTPClient variable.

func (*Config) TokenSource Uses

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

TokenSource returns a TokenSource that returns t until t expires, automatically refreshing it as necessary using the provided context and the client ID and client secret.

Most users will use Config.Client instead.

Package clientcredentials imports 7 packages (graph) and is imported by 303 packages. Updated 2020-09-03. Refresh now. Tools for package owners.