diff --git a/lib/SimpleSAML/Metadata/SAMLParser.php b/lib/SimpleSAML/Metadata/SAMLParser.php index 8822451abd3cd5cbf76bcdfbf0d1d16953718e3f..815b24ff3f0718f8a3d313046debe79d02711b2f 100644 --- a/lib/SimpleSAML/Metadata/SAMLParser.php +++ b/lib/SimpleSAML/Metadata/SAMLParser.php @@ -623,6 +623,15 @@ class SimpleSAML_Metadata_SAMLParser { $ret['keys'] = $spd['keys']; } + /* Add validate.authnrequest. */ + if (array_key_exists('AuthnRequestsSigned', $spd)) { + $ret['validate.authnrequest'] = $spd['AuthnRequestsSigned']; + } + + /* Add saml20.sign.assertion. */ + if (array_key_exists('WantAssertionsSigned', $spd)) { + $ret['saml20.sign.assertion'] = $spd['WantAssertionsSigned']; + } /* Add extensions. */ $this->addExtensions($ret, $spd); @@ -810,6 +819,16 @@ class SimpleSAML_Metadata_SAMLParser { self::parseAttributeConsumerService($attcs[0], $sp); } + /* Check AuthnRequestsSigned */ + if ($element->AuthnRequestsSigned !== NULL) { + $sp['AuthnRequestsSigned'] = $element->AuthnRequestsSigned; + } + + /* Check WantAssertionsSigned */ + if ($element->WantAssertionsSigned !== NULL) { + $sp['WantAssertionsSigned'] = $element->WantAssertionsSigned; + } + $this->spDescriptors[] = $sp; }