Class: SAML2::Subject::Confirmation

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

Defined Under Namespace

Modules: Methods

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

#in_response_toString?

Returns:

  • (String, nil)


68
69
70
# File 'lib/saml2/subject.rb', line 68

def in_response_to
  @in_response_to
end

#methodString

Returns:

  • (String)

See Also:



64
65
66
# File 'lib/saml2/subject.rb', line 64

def method
  @method
end

#not_beforeTime?

Returns:

  • (Time, nil)


66
67
68
# File 'lib/saml2/subject.rb', line 66

def not_before
  @not_before
end

#not_on_or_afterTime?

Returns:

  • (Time, nil)


66
67
68
# File 'lib/saml2/subject.rb', line 66

def not_on_or_after
  @not_on_or_after
end

#recipientString?

Returns:

  • (String, nil)


68
69
70
# File 'lib/saml2/subject.rb', line 68

def recipient
  @recipient
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.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/saml2/subject.rb', line 84

def build(builder)
  builder['saml'].SubjectConfirmation('Method' => method) do |subject_confirmation|
    if in_response_to ||
        recipient ||
        not_before ||
        not_on_or_after
      subject_confirmation['saml'].SubjectConfirmationData do |subject_confirmation_data|
        subject_confirmation_data.parent['NotBefore'] = not_before.iso8601 if not_before
        subject_confirmation_data.parent['NotOnOrAfter'] = not_on_or_after.iso8601 if not_on_or_after
        subject_confirmation_data.parent['Recipient'] = recipient if recipient
        subject_confirmation_data.parent['InResponseTo'] = in_response_to if in_response_to
      end
    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)


71
72
73
74
75
76
77
78
79
80
81
# File 'lib/saml2/subject.rb', line 71

def from_xml(node)
  super
  self.method = node['Method']
  confirmation_data = node.at_xpath('saml:SubjectConfirmationData', Namespaces::ALL)
  if confirmation_data
    self.not_before = Time.parse(confirmation_data['NotBefore']) if confirmation_data['NotBefore']
    self.not_on_or_after = Time.parse(confirmation_data['NotOnOrAfter']) if confirmation_data['NotOnOrAfter']
    self.recipient = confirmation_data['Recipient']
    self.in_response_to = confirmation_data['InResponseTo']
  end
end