lib/saml/kit/builders/response.rb in saml-kit-1.0.25 vs lib/saml/kit/builders/response.rb in saml-kit-1.0.26
- old
+ new
@@ -5,15 +5,12 @@
module Builders
# {include:file:lib/saml/kit/builders/templates/response.builder}
# {include:file:spec/saml/kit/builders/response_spec.rb}
class Response
include XmlTemplatable
- attr_reader :user, :request
- attr_accessor :id, :now
- attr_accessor :version, :status_code, :status_message
- attr_accessor :issuer, :destination
- attr_reader :configuration
+ attr_reader :user, :request, :issuer, :destination, :now, :configuration
+ attr_accessor :id, :version, :status_code, :status_message
def initialize(
user, request = nil, configuration: Saml::Kit.configuration
)
@user = user
@@ -51,9 +48,40 @@
assertion.now = now
assertion.destination = destination
assertion.issuer = issuer
encrypt ? EncryptedAssertion.new(self, assertion) : assertion
end
+ end
+
+ def encrypt=(value)
+ super(value)
+ return if @assertion.nil?
+
+ if value
+ @assertion = EncryptedAssertion.new(self, assertion) if assertion.is_a?(Assertion)
+ elsif assertion.is_a?(EncryptedAssertion)
+ @assertion = assertion.assertion if assertion.is_a?(EncryptedAssertion)
+ end
+ end
+
+ def destination=(value)
+ @destination = value
+ assertion.destination = value
+ end
+
+ def issuer=(value)
+ @issuer = value
+ assertion.issuer = value
+ end
+
+ def now=(value)
+ @now = value
+ assertion.now = value
+ end
+
+ def embed_signature=(value)
+ @embed_signature = value
+ assertion.embed_signature = value
end
private
def response_options