google: base account credentials with file-sourcing

Implements the core functionality to allow 3rd party identities access to Google APIs.  Specifically, this PR implements the base account credential type and supports file-sourced credentials such as Kubernetes workloads.  Later updates will add support for URL-sourced credentials such as Microsoft Azure and support for AWS credentials.

Change-Id: I6e09a450f5221a1e06394b51374cff70ab3ab8a7
GitHub-Last-Rev: 3ab51622f8f7c6982a5e78ae9644675659318e7b
GitHub-Pull-Request: golang/oauth2#462
Reviewed-by: Tyler Bui-Palsulich <>
Trust: Tyler Bui-Palsulich <>
Trust: Cody Oss <>
Run-TryBot: Tyler Bui-Palsulich <>
TryBot-Result: Go Bot <>
7 files changed
tree: a21cc819d7aaf499afa1289323f363757cbb5ef5
  1. amazon/
  2. bitbucket/
  3. cern/
  4. clientcredentials/
  5. endpoints/
  6. facebook/
  7. fitbit/
  8. foursquare/
  9. github/
  10. gitlab/
  11. google/
  12. heroku/
  13. hipchat/
  14. instagram/
  15. internal/
  16. jira/
  17. jws/
  18. jwt/
  19. kakao/
  20. linkedin/
  21. mailchimp/
  22. mailru/
  23. mediamath/
  24. microsoft/
  25. nokiahealth/
  26. odnoklassniki/
  27. paypal/
  28. slack/
  29. spotify/
  30. stackoverflow/
  31. twitch/
  32. uber/
  33. vk/
  34. yahoo/
  35. yandex/
  36. .travis.yml
  40. example_test.go
  41. go.mod
  42. go.sum
  44. oauth2.go
  45. oauth2_test.go
  47. token.go
  48. token_test.go
  49. transport.go
  50. transport_test.go

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