google: Add support for CredentialsParams, Client ID json, and JWT Subject

*Add support for Google Developers Console client_credentials.json as a TokenSource.
*Add support for JWT Subject (for domain-wide delegation when using service account as credentials source.)
*Add support for non-default AuthURL and TokenURL for authorized user credentials source.

To support this change, two new exported functions FindDefaultCredentialsWithParams and CredentialsFromJSONWithParams are introduced.

Change-Id: Ib467822e2c14e02f8ae68586665c439960cfbd5c
GitHub-Last-Rev: eb92ab4a212ad9ca72837d6e89e3c5f7e106a51c
GitHub-Pull-Request: golang/oauth2#490
Reviewed-by: Shin Fan <>
Reviewed-by: Cody Oss <>
Trust: Shin Fan <>
Trust: Cody Oss <>
2 files changed
tree: 23878f16fa70a8b93a059edce5b1ea10d272b036
  1. .travis.yml
  7. amazon/
  8. authhandler/
  9. bitbucket/
  10. cern/
  11. clientcredentials/
  12. endpoints/
  13. example_test.go
  14. facebook/
  15. fitbit/
  16. foursquare/
  17. github/
  18. gitlab/
  19. go.mod
  20. go.sum
  21. google/
  22. heroku/
  23. hipchat/
  24. instagram/
  25. internal/
  26. jira/
  27. jws/
  28. jwt/
  29. kakao/
  30. linkedin/
  31. mailchimp/
  32. mailru/
  33. mediamath/
  34. microsoft/
  35. nokiahealth/
  36. oauth2.go
  37. oauth2_test.go
  38. odnoklassniki/
  39. paypal/
  40. slack/
  41. spotify/
  42. stackoverflow/
  43. token.go
  44. token_test.go
  45. transport.go
  46. transport_test.go
  47. twitch/
  48. uber/
  49. vk/
  50. yahoo/
  51. yandex/

OAuth2 for Go

Go Reference Build Status

oauth2 package contains a client implementation for OAuth 2.0 spec.


go get

Or you can manually git clone the repository to $(go env GOPATH)/src/

See for further documentation and examples.

Policy for new packages

We no longer accept new provider-specific packages in this repo if all they do is add a single endpoint variable. If you just want to add a single endpoint, add it to the package.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see

The main issue tracker for the oauth2 repository is located at