Requires Elixir 1.13+
- Fixed bug with trailing slash in
:base_url
not being ommitted when concatenating with relative path
- Fixed bug where
Req
was not used by default if included in project Assent.Strategy.Httpc.request/5
now sets content length header
Req
will be used by default if available in your project, otherwise :httpc
will be used.
Req
HTTP adapter addedReq
supported by default as HTTP client- Global application config support for HTTP and JWT adapters
- More expressive errors now including the whole HTTP response where applicable
- Deprecated
:site
config in favor of:base_url
config
Assent.Strategy.Strava
added
- Added
Assent.HTTPAdapter.Finch
- Deprecated
Assent.HTTPAdapter.Mint
Assent.Strategy.Spotify
added
- Fixed bug in
Assent.JWTAdapter.AssentJWT
whereverified?
could be a{:error, term()}
tuple rather than boolean - Improved message on private key file load error
- Removed
:castore
version requirement Assent.Strategy.Httpc.request/5
raises error when SSL certificate can't be validated
- Fixed bug to handle 201 success response
Assent.Strategy.OIDC
now has support for multiple audiencesAssent.Strategy.OIDC
now permits any auth method if notoken_endpoint_auth_methods_supported
specifiedAssent.Strategy.Linkedin
added
- Default to using
Jason
instead ofPoison
for JSON parsing - Fixed
Bitwise
warning when running on Elixir 1.14
This release consists of breaking changes.
In previous Assent.Strategy.Slack
strategy, the sub
user id field consisted of {SUB}-{TEAM}
. Slack has migrated to OpenID Connect, and the response has been conformed to OIDC. The sub
will now only consists of the sub
id, and not include team id. To succesfullly migrate to this release all slack identity records storing the sub
user id field has to be updated.
If you wish to continue using the previous sub
user id a custom OIDC strategy can be used instead:
defmodule Slack do
use Assent.Strategy.OIDC.Base
alias Assent.Strategy.Slack
defdelegate default_config(config), to: Slack
def normalize(config, user) do
user = Map.put(user, "sub", "#{user["https://slack.com/user_id"]}-#{user["https://slack.com/team_id"]}")
Slack.normalize(config, user)
end
end
Assent.Strategy.OIDC.fetch_user/2
now removes the ID token specific keys from the user claims instead of normalizingAssent.Strategy.OIDC.Base
now addsnormalize/2
to the macro that will include the full user claims in the user paramsAssent.Strategy.Slack
now uses OpenID connect instead of legacy OAuth 2.0, please note that thesub
value may have changed
Assent.Strategy.OIDC
bug fixed so it handles unreachable urls correctly
Assent.Strategy.OIDC
bug fixed fornormalize/2
macro callback
Assent.constant_time_compare/2
no longer outputs a deprecation warning for OTP 24
Assent.Strategy.Apple
has been fixed to handle the JSON encoded user in callback params
Assent.Strategy.OIDC.Base.authorize_url/2
now has correct type specs
Updated to support OTP 24 and no longer support OTP < 22.1
Assent.Strategy.OIDC
now handles missingid_token
in token params
Assent.Strategy.OAuth2.fetch_user/4
now accepts headers in argumentsAssent.Strategy.AzureAD
bug fixed so it now uses theRS256
alg
Assent.Strategy.OAuth
now handles missing params in callback phaseAssent.Strategy.Twitter
now handles access denied callback
Assent.Strategy.Stripe
addedAssent.Strategy.to_url/3
now handles nested query paramsAssent.Strategy.OAuth2
no longer removes padding for base64 encoding authorization headerAssent.Strategy.OIDC.validate_id_token/2
now supports dynamic OpenID configurationAssent.Strategy.OIDC.fetch_userinfo/2
now supports dynamic OpenID configuration
- Updated docs to detail
:inets
compilation Assent.OAuth2.authorize_url/1
now returns the state, if defined, fromauthorization_params
- Removed
oauther
dependency
- Relax
mint
requirement
Warning: This release has breaking changes.
All get_user/2
functions has been renamed to fetch_user/2
as they return {:ok, res}
/{:error, res}
tuples.
Assent.OAuth.get/4
removed in favor ofAssent.OAuth.request/6
Assent.OAuth2.get_access_token/3
renamed toAssent.OAuth2.grant_access_token/3
Assent.OAuth2.get/4
removed in favor ofAssent.OAuth2.request/6
Assent.Strategy.OIDC.validate_id_token/2
has a bug fixed wherealg
was not validated correctlyAssent.Strategy.OIDC
now has an:id_token_signed_response_alg
configuration optionAssent.Strategy.LINE
added
Assent.Strategy.OAuth2.get_access_token/3
addedAssent.Strategy.OAuth2.refresh_access_token/3
addedAssent.Strategy.OAuth2.authorization_headers/2
is no long a public functionAssent.Strategy.Apple
updated to handlename
scope
Assent.Strategy.DigitalOcean
added
Assent.Strategy.OAuth2.authorization_headers/2
now capitalizes the token type in the authorization headerAssent.Strategy.OIDC.callback/2
now calls the strategyget_user/2
method before any ID token validationAssent.Strategy.OIDC.validate_id_token/2
addedAssent.Strategy.OIDC.fetch_userinfo/2
addedAssent.Strategy.OIDC
no longer fetches the userinfo by default instead using the claims in the ID Token
Assent.Strategy.OAuth2.callback/2
now requires:session_params
to be set in the configAssent.Strategy.OIDC.callback/2
now requires:session_params
to be set in the configAssent.Strategy.OAuth2
now uses constant time comparison for stateAssent.Strategy.OIDC
now uses constant time comparison for nonceAssent.Strategy.Httpc.request/5
bug fixed for certificates that has wildcard domain with SAN extensionAssent.Strategy.Mint.request/5
bug fixed for certificates that has wildcard domain with SAN extension
Now requires Mint 1.0.0 or higher.
Assent.Strategy.Instagram
now accepts:user_url_request_fields
config option and passesfields
params to the/me
point
Now requires Elixir 1.7 or higher.
Assent.Strategy.Instagram
now uses the Instagram Graph APIAssent.Strategy.OIDC
bug fixed when no:session_params
set in config
Assent.Strategy.Github
now providesemail_verified
valueAssent.Strategy.Gitlab
now providesemail_verified
valueAssent.Strategy.Google
fixed to provide correctemail_verified
valueAssent.Strategy.Twitter
now providesemail_verified
value
- Fix
Assent.HTTPAdapter.Mint
where:unknown
responses where not handled correctly
Assent.Strategy.AzureAD
now uses auth code flow instead of hybrid flow
- Removed unused
:resource
param inAssent.Strategy.AzureAD
- Added "email profile" to scope in
Assent.Strategy.AzureAD
- Use
response_mode=form_post
forAssent.Strategy.AzureAD
- Updated
Assent.Strategy.OAuth2
to handle access token request correctly when:auth_method
isnil
per RFC specs - Changed
Assent.Strategy.Apple
to use OIDC strategy and verify the JWT - Changed
Assent.Strategy.OIDC
to update token with the expanded JWT as theid_token
- Fixed bug in
Assent.HTTPAdapter.Mint
with query params not being included in request
- Support mint up to
v1.0.x
- Fixed bug in
Assent.JWTAdapter.JOSE
wherenil
secret value raised an exception - Fixed bug in
Assent.JWTAdapter.AssentJWT
where ECDSA algorithms didn't generate or verify valid signatures
- Fixed bug in
Assent.Strategy.Github
where multiple emails for account resulted in the verified primary e-mail not being returned
- Require
:redirect_uri
is set in the config ofAssent.Strategy.OAuth2.callback/3
instead of asredirect_uri
in the params
- Relax mint requirement
- Fix bug in
Assent.HTTPAdapter.Mint
where HTTP/2 responses wasn't parsed correctly
- Initial release