Sha256: 158d8a1363777b8f14addc6e84e73d8f05578d294cf3b80091bcb39437532fc5
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
module Saml module Kit # {include:file:spec/examples/response_spec.rb} class Response < Document include Respondable extend Forwardable def_delegators :assertion, :name_id, :[], :attributes validate :must_be_valid_assertion validate :must_contain_single_assertion def initialize(xml, request_id: nil, configuration: Saml::Kit.configuration) @request_id = request_id super(xml, name: 'Response', configuration: configuration) end def assertion(private_keys = configuration.private_keys(use: :encryption)) @assertion ||= begin node = assertion_nodes.last if node.nil? Saml::Kit::NullAssertion.new else Saml::Kit::Assertion.new(node, configuration: @configuration, private_keys: private_keys) end end end private def must_be_valid_assertion assertion.valid? assertion.errors.each do |attribute, error| attribute = :assertion if attribute == :base errors[attribute] << error end end def must_contain_single_assertion return if assertion_nodes.count <= 1 errors[:base] << error_message(:must_contain_single_assertion) end def assertion_nodes search(Saml::Kit::Assertion::XPATH) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
saml-kit-1.0.9 | lib/saml/kit/response.rb |
saml-kit-1.0.8 | lib/saml/kit/response.rb |
saml-kit-1.0.7 | lib/saml/kit/response.rb |