forked from Mirrors/oauth2
doc: clarify context key usage to override *http.Client
Fixes golang/oauth2#321 Change-Id: I43724b107efafe189a3a76a81f6089dcc75cb167 Reviewed-on: https://go-review.googlesource.com/c/134436 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
ca4130e427
commit
f42d051822
|
@ -45,16 +45,19 @@ type Config struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Token uses client credentials to retrieve a token.
|
// Token uses client credentials to retrieve a token.
|
||||||
// The HTTP client to use is derived from the context.
|
//
|
||||||
// If nil, http.DefaultClient is used.
|
// The provided context optionally controls which HTTP client is used. See the oauth2.HTTPClient variable.
|
||||||
func (c *Config) Token(ctx context.Context) (*oauth2.Token, error) {
|
func (c *Config) Token(ctx context.Context) (*oauth2.Token, error) {
|
||||||
return c.TokenSource(ctx).Token()
|
return c.TokenSource(ctx).Token()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Client returns an HTTP client using the provided token.
|
// Client returns an HTTP client using the provided token.
|
||||||
// The token will auto-refresh as necessary. The underlying
|
// The token will auto-refresh as necessary.
|
||||||
// HTTP transport will be obtained using the provided context.
|
//
|
||||||
// The returned client and its Transport should not be modified.
|
// 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 (c *Config) Client(ctx context.Context) *http.Client {
|
func (c *Config) Client(ctx context.Context) *http.Client {
|
||||||
return oauth2.NewClient(ctx, c.TokenSource(ctx))
|
return oauth2.NewClient(ctx, c.TokenSource(ctx))
|
||||||
}
|
}
|
||||||
|
|
|
@ -164,8 +164,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {
|
||||||
// and when other authorization grant types are not available."
|
// and when other authorization grant types are not available."
|
||||||
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
||||||
//
|
//
|
||||||
// The HTTP client to use is derived from the context.
|
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
||||||
// If nil, http.DefaultClient is used.
|
|
||||||
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
||||||
v := url.Values{
|
v := url.Values{
|
||||||
"grant_type": {"password"},
|
"grant_type": {"password"},
|
||||||
|
@ -183,8 +182,7 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor
|
||||||
// It is used after a resource provider redirects the user back
|
// It is used after a resource provider redirects the user back
|
||||||
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
||||||
//
|
//
|
||||||
// The HTTP client to use is derived from the context.
|
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
||||||
// If a client is not provided via the context, http.DefaultClient is used.
|
|
||||||
//
|
//
|
||||||
// The code will be in the *http.Request.FormValue("code"). Before
|
// The code will be in the *http.Request.FormValue("code"). Before
|
||||||
// calling Exchange, be sure to validate FormValue("state").
|
// calling Exchange, be sure to validate FormValue("state").
|
||||||
|
|
Loading…
Reference in New Issue