Sha256: c706edb55c9d90eebbeb9c1db3f314b6bedf68dbf1d39dd9c9315038f6e8b47a

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

require 'saml_idp/logout_builder'
module SamlIdp
  class LogoutResponseBuilder < LogoutBuilder
    attr_accessor :response_id
    attr_accessor :issuer_uri
    attr_accessor :saml_slo_url
    attr_accessor :saml_request_id
    attr_accessor :algorithm

    def initialize(response_id, issuer_uri, saml_slo_url, saml_request_id, algorithm)
      self.response_id = response_id
      self.issuer_uri = issuer_uri
      self.saml_slo_url = saml_slo_url
      self.saml_request_id = saml_request_id
      self.algorithm = algorithm
    end 

    def build
      builder = Builder::XmlMarkup.new
      builder.LogoutResponse ID: response_id_string,
        Version: "2.0",
        IssueInstant: now_iso,
        Destination: saml_slo_url,
        InResponseTo: saml_request_id,
        xmlns: Saml::XML::Namespaces::PROTOCOL do |response|
          response.Issuer issuer_uri, xmlns: Saml::XML::Namespaces::ASSERTION
          sign response
          response.Status xmlns: Saml::XML::Namespaces::PROTOCOL do |status|
            status.StatusCode Value: Saml::XML::Namespaces::Statuses::SUCCESS 
          end 
        end 
    end
    private :build
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
saml_idp-0.5.0 lib/saml_idp/logout_response_builder.rb
icn_saml_idp-0.4.1 lib/saml_idp/logout_response_builder.rb
saml_idp-0.4.0 lib/saml_idp/logout_response_builder.rb
saml_idp-0.3.2 lib/saml_idp/logout_response_builder.rb
saml_idp-0.3.1 lib/saml_idp/logout_response_builder.rb
saml_idp-0.3.0 lib/saml_idp/logout_response_builder.rb