authhandler: Add support for 3-legged-OAuth

Added authhandler.go, which implements a TokenSource to support "three-legged OAuth 2.0" via a custom AuthorizationHandler.

Added example_test.go with a sample command line implementation for AuthorizationHandler.

This patch adds support for 3-legged-OAuth flow using an OAuth Client ID file downloaded from Google Cloud Console.

Change-Id: Iefe54494d6f3ee326a6b1b2a81a7d5d1a7ba3331
GitHub-Last-Rev: 48fc0367c2092baf97b8e09f03a94e7fe1ecd890
GitHub-Pull-Request: golang/oauth2#419
Reviewed-on: https://go-review.googlesource.com/c/oauth2/+/232238
Reviewed-by: Tyler Bui-Palsulich <tbp@google.com>
Reviewed-by: Shin Fan <shinfan@google.com>
Reviewed-by: Cody Oss <codyoss@google.com>
Trust: Shin Fan <shinfan@google.com>
Trust: Cody Oss <codyoss@google.com>
3 files changed
tree: 3c3d4c179116831a659ae42bfe42abc522fc0ab7
  1. .travis.yml
  2. AUTHORS
  3. CONTRIBUTING.md
  4. CONTRIBUTORS
  5. LICENSE
  6. README.md
  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/
README.md

OAuth2 for Go

Go Reference Build Status

oauth2 package contains a client implementation for OAuth 2.0 spec.

Installation

go get golang.org/x/oauth2

Or you can manually git clone the repository to $(go env GOPATH)/src/golang.org/x/oauth2.

See pkg.go.dev 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 pkg.go.dev/golang.org/x/oauth2/endpoints package.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the oauth2 repository is located at https://github.com/golang/oauth2/issues.