View Source Samly (samly v1.3.0)
Elixir library used to enable SAML SP SSO to a Phoenix/Plug based application.
Link to this section Summary
Functions
Returns authenticated user SAML Assertion.
Returns value of the specified attribute name in the given SAML Assertion.
Link to this section 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
Parameters
-
conn
- Plug connection
examples
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
Parameters
-
assertion
- SAML assertion obtained by callingget_active_assertion/1
-
name
: Attribute name
examples
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")