class SamlIdp::LogoutRequestBuilder

Attributes

name_id[RW]

Public Class Methods

new(response_id, issuer_uri, saml_slo_url, name_id, algorithm) click to toggle source
Calls superclass method SamlIdp::LogoutBuilder::new
# File lib/saml_idp/logout_request_builder.rb, line 6
def initialize(response_id, issuer_uri, saml_slo_url, name_id, algorithm)
  super(response_id, issuer_uri, saml_slo_url, algorithm)
  self.name_id = name_id
end

Private Instance Methods

build() click to toggle source
# File lib/saml_idp/logout_request_builder.rb, line 11
def build
  builder = Builder::XmlMarkup.new
  builder.LogoutRequest ID: response_id_string,
    Version: "2.0",
    IssueInstant: now_iso,
    Destination: saml_slo_url,
    "xmlns" => Saml::XML::Namespaces::PROTOCOL do |request|
      request.Issuer issuer_uri, xmlns: Saml::XML::Namespaces::ASSERTION
      sign request
      request.NameID name_id, xmlns: Saml::XML::Namespaces::ASSERTION,
        Format: Saml::XML::Namespaces::Formats::NameId::PERSISTENT
      request.SessionIndex response_id_string
    end
end