# ex_saml v1.0.2 - Table of Contents SAML 2.0 Service Provider (SP) library for Elixir/Phoenix applications. Enables SP-initiated and IdP-initiated SSO, Single Logout, SP metadata generation, and multi-IdP support with pluggable assertion storage. ## Modules - [ExSaml](ExSaml.md): SAML 2.0 Service Provider (SP) library for Elixir/Phoenix applications. - [ExSaml.Assertion](ExSaml.Assertion.md): SAML assertion returned from IDP upon successful user authentication. - [ExSaml.AuthHandler](ExSaml.AuthHandler.md): Handles SAML authentication requests (sign-in and sign-out) with the Identity Provider. - [ExSaml.AuthorizationCodeCache](ExSaml.AuthorizationCodeCache.md): TTL-based authorization code cache. - [ExSaml.BoostrapProvidersLoader](ExSaml.BoostrapProvidersLoader.md): GenServer that loads SAML providers after the application and database are ready. Uses retry logic to handle cases where the database isn't available yet. - [ExSaml.Core](ExSaml.Core.md): Pure Elixir SAML 2.0 core library. - [ExSaml.Core.Assertion](ExSaml.Core.Assertion.md): Represents a SAML Assertion element. - [ExSaml.Core.AuthnRequest](ExSaml.Core.AuthnRequest.md): Represents a SAML AuthnRequest message. - [ExSaml.Core.Binding](ExSaml.Core.Binding.md): SAML HTTP binding handlers. - [ExSaml.Core.Contact](ExSaml.Core.Contact.md): Represents a SAML ContactPerson element. - [ExSaml.Core.IdpMetadata](ExSaml.Core.IdpMetadata.md): Represents SAML Identity Provider metadata. - [ExSaml.Core.LogoutRequest](ExSaml.Core.LogoutRequest.md): Represents a SAML LogoutRequest message. - [ExSaml.Core.LogoutResponse](ExSaml.Core.LogoutResponse.md): Represents a SAML LogoutResponse message. - [ExSaml.Core.Org](ExSaml.Core.Org.md): Represents a SAML Organization element. - [ExSaml.Core.Response](ExSaml.Core.Response.md): Represents a SAML Response message. - [ExSaml.Core.Saml](ExSaml.Core.Saml.md): Core SAML protocol module for encoding and decoding SAML messages. - [ExSaml.Core.Sp](ExSaml.Core.Sp.md): SAML Service Provider (SP) operations. - [ExSaml.Core.SpConfig](ExSaml.Core.SpConfig.md): Represents a SAML Service Provider configuration. - [ExSaml.Core.SpMetadata](ExSaml.Core.SpMetadata.md): Represents SAML Service Provider metadata. - [ExSaml.Core.Subject](ExSaml.Core.Subject.md): Represents a SAML Subject element within an Assertion. - [ExSaml.Core.Util](ExSaml.Core.Util.md): Utility functions for SAML processing. - [ExSaml.Core.Xml.C14n](ExSaml.Core.Xml.C14n.md): XML Canonicalization (C14N) for xmerl data structures. - [ExSaml.Core.Xml.Dsig](ExSaml.Core.Xml.Dsig.md): XML Digital Signatures (XMLDSig) generation and verification. - [ExSaml.ErrorMessages](ExSaml.ErrorMessages.md): Error messages - [ExSaml.Provider](ExSaml.Provider.md): SAML 2.0 Service Provider. - [ExSaml.ProvidersLoader](ExSaml.ProvidersLoader.md): Module to configure SAMLY using SP and IDP present in DB - [ExSaml.RelayStateCache](ExSaml.RelayStateCache.md): TTL-based relay state cache with anti-replay protection. - [ExSaml.Router](ExSaml.Router.md): Main SAML router. Forward this in your Phoenix router - [ExSaml.SPHandler](ExSaml.SPHandler.md): Handles Service Provider SAML responses: metadata generation, assertion consumption, and logout handling. - [ExSaml.SecurityPlug](ExSaml.SecurityPlug.md): Plug that sets security headers on SAML responses. - [ExSaml.State](ExSaml.State.md): Interface for SAML assertion storage. - [ExSaml.State.Cache](ExSaml.State.Cache.md): Stores SAML assertions using a Nebulex cache backend. - [ExSaml.State.ETS](ExSaml.State.ETS.md): Stores SAML assertion in ETS. - [ExSaml.State.Session](ExSaml.State.Session.md): Stores SAML assertion in Plug session. - [ExSaml.State.Store](ExSaml.State.Store.md): Specification for ExSaml state stores. - [ExSaml.Subject](ExSaml.Subject.md): The subject in a SAML 2.0 Assertion.