SAML 2.0 Service Provider (SP) library for Elixir/Phoenix applications.
Provides functions to retrieve active SAML assertions and their attributes from the current Plug session.
Summary
Functions
Returns the Assertion Consumer Service (ACS) URI for the given IdP.
Returns authenticated user SAML Assertion.
Returns value of the specified attribute name in the given SAML Assertion.
Returns the SP metadata URI for the given IdP.
Returns the sign-in URI for the given IdP.
Returns the SLO response URI for the given IdP.
Returns the Single Logout (SLO) URI for the given IdP.
Lists identity providers from the configured accessor function.
Lists service providers from the configured accessor function.
Functions
Returns the Assertion Consumer Service (ACS) URI for the given IdP.
@spec get_active_assertion(Plug.Conn.t()) :: nil | ExSaml.Assertion.t()
Returns authenticated user SAML Assertion.
The struct includes the attributes sent from IdP as well as any corresponding locally
computed/derived attributes. Returns nil if the current Plug session
is not authenticated.
Parameters
-
conn- Plug connection
Examples
# When there is an authenticated SAML assertion
%Assertion{} = ExSaml.get_active_assertion(conn)
@spec get_attribute(nil | ExSaml.Assertion.t(), ExSaml.Assertion.attr_name_t()) :: nil | ExSaml.Assertion.attr_value_t()
Returns value of the specified attribute name in the given SAML Assertion.
Checks for the attribute in computed map first and attributes map next.
Returns a UTF-8 binary or a list of UTF-8 binaries (in case of multi-valued)
if the given attribute is present. Returns nil if attribute is not present.
Parameters
-
assertion- SAML assertion obtained by callingget_active_assertion/1 -
name: Attribute name
Examples
assertion = ExSaml.get_active_assertion(conn)
# returns a list if the attribute is multi-valued
roles = ExSaml.get_attribute(assertion, "roles")
computed_fullname = ExSaml.get_attribute(assertion, "fullname")
Returns the SP metadata URI for the given IdP.
Returns the sign-in URI for the given IdP.
Returns the SLO response URI for the given IdP.
Returns the Single Logout (SLO) URI for the given IdP.
Lists identity providers from the configured accessor function.
Requires identity_providers_accessor to be set in config:
config :ex_saml,
identity_providers_accessor: &MyApp.Saml.identity_providers/0
Lists service providers from the configured accessor function.
Requires service_providers_accessor to be set in config:
config :ex_saml,
service_providers_accessor: &MyApp.Saml.service_providers/0