View Source Samly (samly v1.4.0)
Elixir library used to enable SAML SP SSO to a Phoenix/Plug based application.
Summary
Functions
Returns authenticated user SAML Assertion.
Returns value of the specified attribute name in the given SAML Assertion.
Functions
@spec get_active_assertion(Plug.Conn.t()) :: nil | Samly.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{} = Samly.get_active_assertion()
@spec get_attribute(nil | Samly.Assertion.t(), Samly.Assertion.attr_name_t()) :: nil | Samly.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 = Samly.get_active_assertion()
# returns a list if the attribute is multi-valued
roles = Samly.get_attribute(assertion, "roles")
computed_fullname = Samly.get_attribute(assertion, "fullname")