Skip to content

Commit f72a7ad

Browse files
committed
don't allow duplicate saml:Assertion nodes at all
1 parent 115ae0b commit f72a7ad

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

lib/samlr/assertion.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def verify_conditions!
7777
end
7878

7979
def verify_assertion!
80-
assertion_count = document.xpath(DEFAULT_LOCATION, NS_MAP).size
80+
assertion_count = document.xpath("//saml:Assertion", NS_MAP).size
8181

8282
if assertion_count == 0
8383
raise Samlr::FormatError.new("Invalid SAML response: assertion missing")

test/unit/test_response.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@
4646
modified_document.xpath("/samlp:Response/saml:Assertion", Samlr::NS_MAP).first["ID"] = "evil_id"
4747

4848
response = Samlr::Response.new(modified_document.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML), {:certificate => TEST_CERTIFICATE.x509})
49-
assert_equal true, response.verify!
50-
assert_equal "[email protected]", response.name_id
49+
assert_raises(Samlr::FormatError) { response.verify! }
5150
end
5251
end
5352

0 commit comments

Comments
 (0)