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,