Merge pull request #1510 from dmcgowan/oauth-offline-access

Add offline token option
This commit is contained in:
Aaron Lehmann 2016-03-04 14:47:48 -08:00
commit 274825f403

View file

@ -116,6 +116,7 @@ type tokenHandler struct {
transport http.RoundTripper
clock clock
offlineAccess bool
forceOAuth bool
clientID string
scopes []Scope
@ -149,6 +150,7 @@ type TokenHandlerOptions struct {
Transport http.RoundTripper
Credentials CredentialStore
OfflineAccess bool
ForceOAuth bool
ClientID string
Scopes []Scope
@ -182,6 +184,7 @@ func NewTokenHandlerWithOptions(options TokenHandlerOptions) AuthenticationHandl
handler := &tokenHandler{
transport: options.Transport,
creds: options.Credentials,
offlineAccess: options.OfflineAccess,
forceOAuth: options.ForceOAuth,
clientID: options.ClientID,
scopes: options.Scopes,
@ -346,6 +349,10 @@ func (th *tokenHandler) fetchTokenWithBasicAuth(realm *url.URL, service string,
reqParams.Add("scope", scope)
}
if th.offlineAccess {
reqParams.Add("offline_token", "true")
}
if th.creds != nil {
username, password := th.creds.Basic(realm)
if username != "" && password != "" {