Class: Onelogin::Saml::LogoutResponse

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

Constant Summary collapse

STATUS_MESSAGE =
'Successfully Signed Out'

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

#status_codeObject



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

def status_code
  @status_code ||= node_attribute_value('samlp:Status/samlp:StatusCode', 'Value')
end

#status_messageObject



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

def status_message
  @status_message ||= node_content("samlp:Status/samlp:StatusMessage")
end

Class Method Details

.generate(in_response_to, settings) ⇒ Object



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

def self.generate(in_response_to, settings)
  super(settings, in_response_to: in_response_to, destination: settings.idp_slo_target_url)
end

Instance Method Details

#generateObject



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/onelogin/saml/logout_response.rb', line 21

def generate
  "    <samlp:LogoutResponse 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)}\" InResponseTo=\"\#{self.in_response_to}\">\n      <saml:Issuer>\#{CGI.escapeHTML(self.issuer)}</saml:Issuer>\n      <samlp:Status>\n        <samlp:StatusCode Value=\"\#{Onelogin::Saml::StatusCodes::SUCCESS_URI}\"></samlp:StatusCode>\n        <samlp:StatusMessage>\#{STATUS_MESSAGE}</samlp:StatusMessage>\n      </samlp:Status>\n    </samlp:LogoutResponse>\n  XML\nend\n"

#success_status?Boolean



33
34
35
# File 'lib/onelogin/saml/logout_response.rb', line 33

def success_status?
  self.status_code == Onelogin::Saml::StatusCodes::SUCCESS_URI
end