An Elixir OAuth 2.0 Client Library
@type params
content-type
resolving when there are multiple paramsDiff: https://github.com/scrogson/oauth2/compare/v0.8.2...v0.8.3
text/plain
content-type for tokens in #74Diff: https://github.com/scrogson/oauth2/compare/v0.8.0...v0.8.1
OAuth2.Client.basic_auth/1
convenience function.RefreshToken
strategy reported in #66content-type
was defaulting to
application/json
causing Poison to explode.Diff: https://github.com/scrogson/oauth2/compare/v0.7.0...v0.8.0
HTTPoison
in favor of using hackney
directly.mimetype_parser
.Poison
is now only a test
dependency.expires_in
values that are returned as strings are now properly parsed into integers for expires_at
.Prior to version v0.7.0
OAuth2.Client
was primarily used for the purpose
of interfacing with the OAuth server to retrieve a token. OAuth2.Token
was
then responsible for using that token to make authenticated requests.
In v0.7.0
this interface has been refactored so that an OAuth2.Client
struct
now references an OAuth2.Token
directly and many of the action methods have
been moved so that they are called on OAuth2.Client
, with an instance of the
client struct as their first argument.
Please consult the README for an example of general usage to retrieve a token and make a request.
The following methods have been moved and adjusted so that they take a OAuth2.Client.t
which contains a token, rather than a token directly:
OAuth2.AccessToken.get
-> OAuth2.Client.get
OAuth2.AccessToken.get!
-> OAuth2.Client.get!
OAuth2.AccessToken.put
-> OAuth2.Client.put
OAuth2.AccessToken.put!
-> OAuth2.Client.put!
OAuth2.AccessToken.patch
-> OAuth2.Client.patch
OAuth2.AccessToken.patch!
-> OAuth2.Client.patch!
OAuth2.AccessToken.post
-> OAuth2.Client.post
OAuth2.AccessToken.post!
-> OAuth2.Client.post!
OAuth2.AccessToken.delete
-> OAuth2.Client.delete
OAuth2.AccessToken.delete!
-> OAuth2.Client.delete!
OAuth2.AccessToken.refresh
-> OAuth2.Client.refresh_token
OAuth2.AccessToken.refresh!
-> OAuth2.Client.refresh_token!
Additionally, the following methods have been moved to OAuth2.Request
OAuth2.AccessToken.request
-> OAuth2.Request.request
OAuth2.AccessToken.request!
-> OAuth2.Request.request!
Diff: https://github.com/scrogson/oauth2/compare/v0.6.0...v0.7.0
Poison ~> 2.0
(#49)Diff: https://github.com/scrogson/oauth2/compare/v0.5.0...v0.6.0
OAuth2.AccessToken.refresh
. The !
alternative is also available.Bypass
for improved testability.Plug
is no longer a direct dependency. It is only included as a test dependency through the Bypass
library.OAuth2.AccessToken
now supports DELETE
requests with delete
and delete!
POST
requests with OAuth2.Client.get_token
content-type
is not supported by this lib. Registering custom parsers is a future goal for this library.OAuth2.new/1
has been removed. Use OAuth2.Client.new/1
instead.Diff: https://github.com/scrogson/oauth2/compare/v0.4.0...v0.5.0
OAuth2.AccessToken
now supports: post
, post!
, put
, put!
, patch
, and patch!
.OAuth2.AccessToken.get!/4
now returns OAuth2.Response{}
instead of just the parsed body.Thanks to @meatherly, @dejanstrbac, and @optikfluffel for their contributions!
Diff: https://github.com/scrogson/oauth2/compare/v0.3.0...v0.4.0
Bump Plug
dependency to 1.0
.
Diff: https://github.com/scrogson/oauth2/compare/v0.2.0...v0.3.0
:erlang.now
was replaced with :os.timestamp
for compatibility with Erlang 18HTTPoison
library with OAuth2.Client.get_token/4
and OAuth2.Client.get_token!/4
Diff: https://github.com/scrogson/oauth2/compare/v0.1.1...v0.2.0