Packages
Strict-by-default SAML 2.0 Service Provider library for Elixir and Phoenix.
Retired package: Security issue - Critical auth bypass (GHSA-jv46-xfwm-36j7). Upgrade to 1.2.0.
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/relyra/security/xml.ex
defmodule Relyra.Security.XML do
@moduledoc """
Hardened XML seam contract for trust-sensitive SAML handling.
"""
alias Relyra.Error
@type xml_error_type ::
:doctype_forbidden
| :entity_expansion_forbidden
| :external_reference_forbidden
| :payload_too_large
| :malformed_xml
| :missing_protocol_field
| :duplicate_xml_id
| :missing_signature
| :invalid_signature
| :signature_wrapping_suspected
| :canonicalization_failed
| :untrusted_certificate
| :unsigned_or_partial_signature
@callback parse_safely(binary(), keyword()) ::
{:ok, term()} | {:error, %Error{}}
@callback select_signed_node(parsed_doc :: term(), keyword()) ::
{:ok, term()} | {:error, %Error{}}
@callback canonicalize(signed_node_handle :: term(), keyword()) ::
{:ok, binary()} | {:error, %Error{}}
end