lib/saml/kit/builders/response.rb in saml-kit-1.0.14 vs lib/saml/kit/builders/response.rb in saml-kit-1.0.15
- old
+ new
@@ -7,11 +7,11 @@
# {include:file:spec/saml/kit/builders/response_spec.rb}
class Response
include XmlTemplatable
attr_reader :user, :request
attr_accessor :id, :reference_id, :now
- attr_accessor :version, :status_code
+ attr_accessor :version, :status_code, :status_message
attr_accessor :issuer, :destination
attr_reader :configuration
def initialize(user, request = nil, configuration: Saml::Kit.configuration)
@user = user
@@ -19,20 +19,25 @@
@id = ::Xml::Kit::Id.generate
@reference_id = ::Xml::Kit::Id.generate
@now = Time.now.utc
@version = '2.0'
@status_code = Namespaces::SUCCESS
+ @status_message = nil
@issuer = configuration.entity_id
@encryption_certificate = request.try(:provider).try(:encryption_certificates).try(:last)
@encrypt = encryption_certificate.present?
@configuration = configuration
end
def build
Saml::Kit::Response.new(to_xml, request_id: request.try(:id), configuration: configuration)
end
+ def assertion=(value)
+ @assertion = value ? value : Null.new
+ end
+
def assertion
@assertion ||=
begin
assertion = Saml::Kit::Builders::Assertion.new(self, embed_signature)
if encrypt
@@ -52,10 +57,10 @@
IssueInstant: now.iso8601,
Consent: Namespaces::UNSPECIFIED,
xmlns: Namespaces::PROTOCOL,
}
options[:Destination] = destination if destination.present?
- options[:InResponseTo] = request.id if request.present?
+ options[:InResponseTo] = request.try(:id) if request.present?
options
end
end
end
end