Class: SAML2::AuthnStatement

Inherits:
Base
  • Object
show all
Defined in:
lib/saml2/authn_statement.rb

Defined Under Namespace

Modules: Classes

Instance Attribute Summary collapse

Attributes inherited from Base

#xml

Instance Method Summary collapse

Methods inherited from Base

#decrypt, from_xml, #initialize, #inspect, load_object_array, load_string_array, lookup_qname, #to_s, #to_xml

Constructor Details

This class inherits a constructor from SAML2::Base

Instance Attribute Details

#authn_context_class_refString?

One of the values in Classes.

Returns:

  • (String, nil)


34
35
36
# File 'lib/saml2/authn_statement.rb', line 34

def authn_context_class_ref
  @authn_context_class_ref
end

#authn_instantTime

Returns:

  • (Time)


31
32
33
# File 'lib/saml2/authn_statement.rb', line 31

def authn_instant
  @authn_instant
end

#session_indexString?

Returns:

  • (String, nil)


36
37
38
# File 'lib/saml2/authn_statement.rb', line 36

def session_index
  @session_index
end

#session_not_on_or_afterTime?

Returns:

  • (Time, nil)


38
39
40
# File 'lib/saml2/authn_statement.rb', line 38

def session_not_on_or_after
  @session_not_on_or_after
end

Instance Method Details

#build(builder) ⇒ void

This method returns an undefined value.

Serialize this object to XML, as part of a larger document

Parameters:

  • builder (Nokogiri::XML::Builder)

    The builder helper object to serialize to.



51
52
53
54
55
56
57
58
59
# File 'lib/saml2/authn_statement.rb', line 51

def build(builder)
  builder["saml"].AuthnStatement("AuthnInstant" => authn_instant.iso8601) do |authn_statement|
    authn_statement.parent["SessionIndex"] = session_index if session_index
    authn_statement.parent["SessionNotOnOrAfter"] = session_not_on_or_after.iso8601 if session_not_on_or_after
    authn_statement["saml"].AuthnContext do |authn_context|
      authn_context["saml"].AuthnContextClassRef(authn_context_class_ref) if authn_context_class_ref
    end
  end
end

#from_xml(node) ⇒ void

This method returns an undefined value.

Parse an XML element into this object.

Parameters:

  • node (Nokogiri::XML::Element)


41
42
43
44
45
46
47
48
# File 'lib/saml2/authn_statement.rb', line 41

def from_xml(node)
  super
  @authn_instant = Time.parse(node["AuthnInstant"])
  @session_index = node["SessionIndex"]
  @session_not_on_or_after = Time.parse(node["SessionNotOnOrAfter"]) if node["SessionNotOnOrAfter"]
  @authn_context_class_ref = node.at_xpath("saml:AuthnContext/saml:AuthnContextClassRef",
                                           Namespaces::ALL)&.content&.strip
end