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)

24
25
26
# File 'lib/saml2/authn_statement.rb', line 24

def authn_context_class_ref
  @authn_context_class_ref
end

#authn_instantTime

Returns:

  • (Time)

21
22
23
# File 'lib/saml2/authn_statement.rb', line 21

def authn_instant
  @authn_instant
end

#session_indexString?

Returns:

  • (String, nil)

26
27
28
# File 'lib/saml2/authn_statement.rb', line 26

def session_index
  @session_index
end

#session_not_on_or_afterTime?

Returns:

  • (Time, nil)

28
29
30
# File 'lib/saml2/authn_statement.rb', line 28

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.


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

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)

31
32
33
34
35
36
37
# File 'lib/saml2/authn_statement.rb', line 31

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