Documentation ¶
Overview ¶
Package authhandler implements a TokenSource to support "three-legged OAuth 2.0" via a custom AuthorizationHandler.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TokenSource ¶
func TokenSource(ctx context.Context, config *oauth2.Config, state string, authHandler AuthorizationHandler) oauth2.TokenSource
TokenSource returns an oauth2.TokenSource that fetches access tokens using 3-legged-OAuth flow.
The provided context.Context is used for oauth2 Exchange operation.
The provided oauth2.Config should be a full configuration containing AuthURL, TokenURL, and Scope.
An environment-specific AuthorizationHandler is used to obtain user consent.
Per the OAuth protocol, a unique "state" string should be specified here. This token source will verify that the "state" is identical in the request and response before exchanging the auth code for OAuth token to prevent CSRF attacks.