View Source App Identity for Elixir Changelog
1.3.0 / 2023-07-20
Rename all spec uses of
String.t()
tobinary()
asExtensive reorganization of the
AppIdentity.Plug
documentation to improve the readability of the configuration.Refactored configuration into
AppIdentity.Plug.Config
from the plug itself. This was done in part to resolve a Dialyzer issue.Add
on_resolution
andon_success
callbacks inAppIdentity.Plug.Config
to better support various workflows (such as adding proof validation results toLogger.metadata/1
).Extended the
AppIdentity.Plug.Config.finder
callback to accept a tuple{module, function}
.Improved
AppIdentity.Plug.Config
telemetry context formatting to include the plugname
.
1.2.0 / 2023-07-07
Add support for header groups in
AppIdentity.Plug
to better handle fallback headers. Kinetic’s original Elixir implementation always verified only the first value from a list of headers, like so:with [] <- Conn.get_req_header(conn, "header-1"), [] <- Conn.get_req_header(conn, "header-2"), [] <- Conn.get_req_header(conn, "header-3") do :error else [value | _] -> {:ok, value} end
AppIdentity.Plug always processes all values of a header and puts the result in a map with the header name as the key, it meant that each header result would need to be checked individually. Instead, the
header_groups
option collects related headers into a single result key:plug AppIdentity.Plug, header_groups: %{ "app" => ["header-1", "header-2", "header-3"] }, ...
Add support for alternate names so that
AppIdentity.Plug
can be specified multiple times in a pipeline and will store its data separately.
1.1.0 / 2023-03-28
Add optional Telemetry support. If
:telemetry
is in your application's dependencies, and Telemetry support is not explicitly disabled, events will be emitted forAppIdentity.generate_proof/2
,AppIdentity.verify_proof/3
, andAppIdentity.Plug
.Disable by adding this line to your application's configuration:'
config :app_identity, AppIdentity.Telemetry, enabled: false
Fixed various issues on Elixir 1.10.
1.0.0 / 2022-09-07
- Initial release.