class SAML2::LogoutRequest
Attributes
Public Class Methods
Source
# File lib/saml2/logout_request.rb, line 16 def self.initiate(sso, issuer, name_id, session_index = [], binding: Bindings::HTTPRedirect::URN) logout_request = new logout_request.issuer = issuer logout_request.destination = sso.single_logout_services.choose_endpoint(binding)&.location if sso logout_request.name_id = name_id logout_request.session_index = session_index logout_request end
@param sso [SSO, nil] @param issuer [NameID] @param name_id
[NameID] @param session_index
optional [String, Array<String>] @param binding [String] the binding to use for the request @return [LogoutRequest]
Public Instance Methods
Source
# File lib/saml2/logout_request.rb, line 27 def name_id @name_id ||= (NameID.from_xml(xml.at_xpath("saml:NameID", Namespaces::ALL)) if xml) end
@return [NameID]
Source
# File lib/saml2/logout_request.rb, line 32 def session_index @session_index ||= (load_string_array(xml, "samlp:SessionIndex") if xml) end
@return [String, Array<String>]
Private Instance Methods
Source
# File lib/saml2/logout_request.rb, line 38 def build(builder) builder["samlp"].LogoutRequest( "xmlns:samlp" => Namespaces::SAMLP, "xmlns:saml" => Namespaces::SAML ) do |logout_request| super(logout_request) name_id.build(logout_request) Array(session_index).each do |session_index_instance| logout_request["samlp"].SessionIndex(session_index_instance) end end end
Calls superclass method