oauth2: parse RFC 6749 error response

Parse error response described in https://datatracker.ietf.org/doc/html/rfc6749#section-5.2

Handle unorthodox servers responding 200 in error case.

Implements API changes in accepted proposal https://github.com/golang/go/issues/58125

Fixes #441
Fixes #274
Updates #173

Change-Id: If9399c3f952ac0501edbeefeb3a71ed057ca8d37
GitHub-Last-Rev: 0030e274225f4b870bd67622d99beb3a3fdd341f
GitHub-Pull-Request: golang/oauth2#610
Reviewed-on: https://go-review.googlesource.com/c/oauth2/+/451076
Run-TryBot: Matt Hickford <matt.hickford@gmail.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Matt Hickford <matt.hickford@gmail.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Cody Oss <codyoss@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
3 files changed
tree: 26d33d6ef18373b8d6684652fafb8cde610b2c56
  1. amazon/
  2. authhandler/
  3. bitbucket/
  4. cern/
  5. clientcredentials/
  6. endpoints/
  7. facebook/
  8. fitbit/
  9. foursquare/
  10. github/
  11. gitlab/
  12. google/
  13. heroku/
  14. hipchat/
  15. instagram/
  16. internal/
  17. jira/
  18. jws/
  19. jwt/
  20. kakao/
  21. linkedin/
  22. mailchimp/
  23. mailru/
  24. mediamath/
  25. microsoft/
  26. nokiahealth/
  27. odnoklassniki/
  28. paypal/
  29. slack/
  30. spotify/
  31. stackoverflow/
  32. twitch/
  33. uber/
  34. vk/
  35. yahoo/
  36. yandex/
  37. .travis.yml
  38. CONTRIBUTING.md
  39. example_test.go
  40. go.mod
  41. go.sum
  42. LICENSE
  43. oauth2.go
  44. oauth2_test.go
  45. README.md
  46. token.go
  47. token_test.go
  48. transport.go
  49. transport_test.go
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 endpoints

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

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

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

  • Excluding trivial changes, all contributions should be connected to an existing issue.
  • API changes must go through the change proposal process before they can be accepted.
  • The code owners are listed at dev.golang.org/owners.