Commit 7df9b0e
Changed files (4)
lib
saml
kit
spec
saml
lib/saml/kit/builders/templates/authentication_request.builder
@@ -4,5 +4,5 @@ xml.instruct!
xml.tag!('samlp:AuthnRequest', request_options) do
xml.tag!('saml:Issuer', issuer)
signature_for(reference_id: id, xml: xml)
- xml.tag!('samlp:NameIDPolicy', Format: name_id_format)
+ xml.tag!('samlp:NameIDPolicy', Format: name_id_format) if name_id_format.present?
end
lib/saml/kit/document.rb
@@ -17,6 +17,7 @@ module Saml
"samlp": ::Saml::Kit::Namespaces::PROTOCOL,
'xmlenc' => ::Xml::Kit::Namespaces::XMLENC,
}.freeze
+ attr_accessor :registry
validates_presence_of :content
validates_presence_of :id
validate :must_match_xsd
@@ -25,6 +26,7 @@ module Saml
def initialize(xml, name:, configuration: Saml::Kit.configuration)
@configuration = configuration
+ @registry = configuration.registry
@content = xml
@name = name
end
lib/saml/kit/trustable.rb
@@ -30,7 +30,7 @@ module Saml
# @!visibility private
def provider
- configuration.registry.metadata_for(issuer)
+ registry.metadata_for(issuer)
end
# @!visibility private
spec/saml/kit/authentication_request_spec.rb
@@ -207,7 +207,9 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
x.name_id_format = nil
end
expect(result).to be_instance_of(described_class)
+ result.registry = instance_double(Saml::Kit::DefaultRegistry, metadata_for: Saml::Kit::ServiceProviderMetadata.build)
expect(result).to be_valid
+ expect(result.to_xml).not_to include("NameIDPolicy")
end
end