View Source Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.0] - 2022-01-26
Added
Boruta.Ecto.Admin.get_scopes_by_names/1Boruta.Ecto.Admin.regenerate_client_secret/1,2Boruta.Ecto.Admin.delete_inactive_tokens/0,1Boruta.Ecto.Client.grant_types/0- ability to insert/update clients with given id/secret
- inserting/updating a client inserts non existing authorized_scopes
oauth_moduleinjection inboruta.gen.controllersgenerated controllers defalut toBoruta.Oauth
Changed
- store previous token while refreshing access tokens (need to run
boruta.gen.migrationmix task to be up to date) Boruta.Ecto.Admin.list_active_tokens/0,1returns query result instead of anEcto.QueryBoruta.Oauth.ResourceOwners.claims/2callback takes aBoruta.Oauth.ResourceOwnerstruct instead ofsubas parameter
[2.0.0-rc.1] - 2021-11-17
Fixed
- better Ecto errors management
- remove padding from pkce code challenge checks
- reduce resource_owners adapter calls
Added
- domain wildcard for client redirect_uris
Removed
- Ecto
ClientsAdapter.get_by(id: id, secret: secret)is removed in preference ofClientsAdapter.get_client(id)andOauth.Client.check_secret(client, secret). - Ecto
ClientsAdapter.get_by(id: id, redirect_uri: redirect_uri)is removed in preference ofClientsAdapter.get_client(id)andOauth.Client.check_redirect_uri(client, redirect_uri).
[2.0.0-rc.0] 2021-10-12
Added
- OpenID Connect core 1.0 integration
- hybrid flow
- authorization code and implicit grants with OpenID Connect compatibility
public_revokeper client configuration allowing to revoke tokens without providing client secret.introspectandrevokesupported grant types per client configuration.
Changed
Boruta.Oauth.AuthorizeResponseandBoruta.Oauth.TokenResponsedo not provide token value invaluefield but prefer giving value by token typecode,access_tokenorid_token.
becomes%AuthorizeResponse{ type: "code", value: value, expires_in: 60 }%AuthorizeResponse{ type: :code, code: value, expires_in: 60 }- add nonce column to tokens
- default column values migrations
- migration management
boruta.gen.migrationsdoes incremental changes
Security
- codes are revoked after first usage
Fixed
boruta.gen.controllersgenerated paths in umbrella apps
[1.2.1] - 2021-10-10
Security
- remove redirect_uris regex pattern check
[1.2.0] - 2021-09-15
Added
public_refresh_tokenper client configuration allowing to refresh tokens without providing client secret.refresh_token_ttlper client configuration setting refresh tokens duration (along withrefresh_tokne_max_ttl:boruta mix configuration).issuer:boruta mix configuration.
Fixed
boruta.gen.controllersgenerated paths in umbrella apps.- Refreshed tokens has associated access_token scope as default.
- Requests with no client secret won't raise an error.
Changed
invalid_clientdo not return neither format, nor redirect_uri inBoruta.Oauth.Error.
[1.1.0] - 2021-08-16
Added
AuthorizeApplication,IntrospectApplication,RevokeApplication, andTokenApplicationbehaviours allowing to implement separatly different OAuth use cases.list_active_tokensEcto admin functionBoruta.AccessTokensAdapter,Boruta.CodesAdapter,Boruta.ClientsAdapter, andBoruta.ScopesAdapterencapsulating adapters that are set in configuration.Boruta.Oauth.AuthorizeResponse.redirect_to_url/1functionBoruta.Oauth.Error.redirect_to_url/1functionboruta.gen.controllersmix taskBoruta.Ectoschemas documentation
Security
- do not issue access_tokens from other clients refresh tokens
Fixed
- Internal server errors when no client_id provided to token and refresh_token grants
[1.0.3] - 2021-07-29
Security
- Refresh token revocation
[1.0.2] - 2021-06-29
Added
- Differents OAuth flows integration guides
[1.0.1] - 2021-03-10
Fixed
- Migration fix generated by
mix boruta.gen.migrationtask
Added
- Documentation