lib/saml/kit/builders/response.rb in saml-kit-0.3.0 vs lib/saml/kit/builders/response.rb in saml-kit-0.3.1

- old
+ new

@@ -1,22 +1,23 @@ module Saml module Kit module Builders + # {include:file:lib/saml/kit/builders/templates/response.builder} # {include:file:spec/saml/builders/response_spec.rb} class Response - include Templatable + include XmlTemplatable attr_reader :user, :request attr_accessor :id, :reference_id, :now attr_accessor :version, :status_code - attr_accessor :issuer, :destination, :encrypt + attr_accessor :issuer, :destination attr_reader :configuration def initialize(user, request, configuration: Saml::Kit.configuration) @user = user @request = request - @id = Id.generate - @reference_id = Id.generate + @id = ::Xml::Kit::Id.generate + @reference_id = ::Xml::Kit::Id.generate @now = Time.now.utc @version = "2.0" @status_code = Namespaces::SUCCESS @issuer = configuration.issuer @encrypt = encryption_certificate.present? @@ -35,10 +36,18 @@ end private def assertion - @assertion ||= Saml::Kit::Builders::Assertion.new(self) + @assertion ||= + begin + assertion = Saml::Kit::Builders::Assertion.new(self) + if encrypt + Saml::Kit::Builders::EncryptedAssertion.new(self, assertion) + else + assertion + end + end end def response_options { ID: id,