View Source App Identity for Elixir Changelog
1.3.2 / 2023-09-05
- Resolved an issue where padlock values sent using lowercase hex values were not comparing properly. Added tests for the case as well as an additional validation doctest.
1.3.1 / 2023-07-20
- Packages released to hex.pm by default include the
priv/directory, but nothing is done to ensure that those packages include anything other than the literal files. Thepriv/directory contained two symbolic links (optional.jsonandrequired.json) which were symlinks to the project integration suite generators, only used in integration testing.
1.3.0 / 2023-07-19
Rename many spec uses of
String.t()tobinary()as we do not necessarily require UTF-8.Extensive reorganization of the
AppIdentity.Plugdocumentation to improve the readability of the configuration.Refactored configuration into
AppIdentity.Plug.Configfrom the plug itself. This was done in part to resolve a Dialyzer issue.Add
on_resolutionandon_successcallbacks inAppIdentity.Plug.Configto better support various workflows (such as adding proof validation results toLogger.metadata/1).Extended the
AppIdentity.Plug.Config.findercallback to accept a tuple{module, function}.Improved
AppIdentity.Plug.Configtelemetry context formatting to include the plugname.
1.2.0 / 2023-07-07
Add support for header groups in
AppIdentity.Plugto 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} endAppIdentity.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_groupsoption 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.Plugcan be specified multiple times in a pipeline and will store its data separately.
1.1.0 / 2023-03-28
Add optional Telemetry support. If
:telemetryis 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: falseFixed various issues on Elixir 1.10.
1.0.0 / 2022-09-07
- Initial release.