Class: Onelogin::Saml::LogoutRequest

Inherits:
BaseAssertion show all
Defined in:
lib/onelogin/saml/logout_request.rb

Instance Attribute Summary collapse

Attributes inherited from BaseAssertion

#base64_assertion, #destination, #id, #in_response_to, #issue_instant, #issuer, #settings, #xml

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseAssertion

#assertion_type, #document, #forward_url, generate_unique_id, get_timestamp, #node_attribute_value, #node_content, parse, #process, #root_attribute_value

Instance Attribute Details

#name_idObject



9
10
11
# File 'lib/onelogin/saml/logout_request.rb', line 9

def name_id
  @name_id ||= node_content('saml:NameID')
end

#name_identifier_formatObject



13
14
15
# File 'lib/onelogin/saml/logout_request.rb', line 13

def name_identifier_format
  @name_identifier_format ||= node_attribute_value('samlp:NameID', 'Format')
end

#name_qualifierObject



17
18
19
# File 'lib/onelogin/saml/logout_request.rb', line 17

def name_qualifier
  @name_qualifier ||= node_attribute_value('samlp:NameID', 'NameQualifier')
end

#session_indexObject



21
22
23
# File 'lib/onelogin/saml/logout_request.rb', line 21

def session_index
  @session_index ||= node_content('samlp:SessionIndex')
end

#sp_name_qualifierObject

Returns the value of attribute sp_name_qualifier.



7
8
9
# File 'lib/onelogin/saml/logout_request.rb', line 7

def sp_name_qualifier
  @sp_name_qualifier
end

Class Method Details

.generate(name_qualifier, sp_name_qualifier, name_id, name_identifier_format, session_index, settings) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/onelogin/saml/logout_request.rb', line 25

def self.generate(name_qualifier, sp_name_qualifier, name_id, name_identifier_format, session_index, settings)
  super(settings, {
    destination: settings.idp_slo_target_url,
    name_identifier_format: name_identifier_format,
    name_id: name_id,
    name_qualifier: name_qualifier,
    sp_name_qualifier: sp_name_qualifier,
    session_index: session_index
  })
end

Instance Method Details

#generateObject



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/onelogin/saml/logout_request.rb', line 36

def generate
  name_qualifier = %{NameQualifier="#{self.name_qualifier}" } if self.name_qualifier
  sp_name_qualifier = %{SPNameQualifier="#{self.sp_name_qualifier}" } if self.sp_name_qualifier
  format = %{Format="#{self.name_identifier_format}" } if self.name_identifier_format
  <<-XML
    <samlp:LogoutRequest xmlns:samlp="#{Onelogin::NAMESPACES['samlp']}" xmlns:saml="#{Onelogin::NAMESPACES['saml']}" ID="#{self.id}" Version="2.0" IssueInstant="#{self.issue_instant}" Destination="#{CGI.escapeHTML(self.destination)}">
      <saml:Issuer>#{self.issuer}</saml:Issuer>
      <saml:NameID #{name_qualifier}#{sp_name_qualifier}#{format}>#{self.name_id}</saml:NameID>
      <samlp:SessionIndex>#{self.session_index}</samlp:SessionIndex>
    </samlp:LogoutRequest>
  XML
end