class SAML2::LogoutRequest

def self.initiate(sso, issuer, name_id, session_index = [])

Returns:
  • (LogoutRequest) -

Parameters:
  • session_index () -- optional [String, Array]
  • name_id (NameID) --
  • issuer (NameID) --
  • sso (SSO) --
def self.initiate(sso, issuer, name_id, session_index = [])
  logout_request = new
  logout_request.issuer = issuer
  logout_request.destination = sso.single_logout_services.first.location
  logout_request.name_id = name_id
  logout_request.session_index = session_index
  logout_request
end

def build(builder)

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

def name_id

Returns:
  • (NameID) -
def name_id
  @name_id ||= (NameID.from_xml(xml.at_xpath('saml:NameID', Namespaces::ALL)) if xml)
end

def session_index

Returns:
  • (String, Array) -
def session_index
  @session_index ||= (load_string_array(xml,'samlp:SessionIndex') if xml)
end