x/oauth2: populate RetrieveError from DeviceAuth

Endpoints may return errors when attempting to request device
authorization. Currently, these error codes are ignored and an
otherwise empty RetrieveError returned. This change populates
the RetrieveError similar to the oauth2 token exchange.

Fixes golang/go#75759

Change-Id: Ic00fecce290d3d3b4a40697b54ce74cc8cacab4d
GitHub-Last-Rev: 32c6ab5b8c0f8c2624cba0d536224a1fefcf0665
GitHub-Pull-Request: golang/oauth2#794
Reviewed-on: https://go-review.googlesource.com/c/oauth2/+/709215
LUCI-TryBot-Result: Go LUCI <[email protected]>
Reviewed-by: David Chase <[email protected]>
Reviewed-by: Sean Liao <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
3 files changed
tree: c8f84a3a7e019710264bbf55d5b95db6ce1077b1
  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. deviceauth.go
  40. deviceauth_test.go
  41. example_test.go
  42. go.mod
  43. go.sum
  44. LICENSE
  45. oauth2.go
  46. oauth2_test.go
  47. pkce.go
  48. README.md
  49. token.go
  50. token_test.go
  51. transport.go
  52. transport_test.go
README.md

OAuth2 for Go

Go Reference Build Status

oauth2 package contains a client implementation for OAuth 2.0 spec.

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://go.dev/doc/contribute.

The git repository is https://go.googlesource.com/oauth2.

Note:

  • 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.