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. .travis.yml
  7. amazon/
  8. bitbucket/
  9. cern/
  10. clientcredentials/
  11. endpoints/
  12. example_test.go
  13. facebook/
  14. fitbit/
  15. foursquare/
  16. github/
  17. gitlab/
  18. go.mod
  19. go.sum
  20. google/
  21. heroku/
  22. hipchat/
  23. instagram/
  24. internal/
  25. jira/
  26. jws/
  27. jwt/
  28. kakao/
  29. linkedin/
  30. mailchimp/
  31. mailru/
  32. mediamath/
  33. microsoft/
  34. nokiahealth/
  35. oauth2.go
  36. oauth2_test.go
  37. odnoklassniki/
  38. paypal/
  39. slack/
  40. spotify/
  41. stackoverflow/
  42. token.go
  43. token_test.go
  44. transport.go
  45. transport_test.go
  46. twitch/
  47. uber/
  48. vk/
  49. yahoo/
  50. 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