/** * @param SSODescriptor $ssoDescriptor * @param EntityDescriptor $entityDescriptor * @param array $result */ protected function handleDescriptor(SSODescriptor $ssoDescriptor, EntityDescriptor $entityDescriptor, array &$result) { foreach ($ssoDescriptor->getAllKeyDescriptors() as $keyDescriptor) { $credential = (new X509Credential($keyDescriptor->getCertificate()))->setEntityId($entityDescriptor->getEntityID())->addKeyName($keyDescriptor->getCertificate()->getName())->setCredentialContext(new CredentialContextSet(array(new MetadataCredentialContext($keyDescriptor, $ssoDescriptor, $entityDescriptor))))->setUsageType($keyDescriptor->getUse()); $result[] = $credential; } }
public static function check(\PHPUnit_Framework_TestCase $test, SSODescriptor $descriptor, array $expectedNameIdFormats) { $test->assertCount(count($expectedNameIdFormats), $descriptor->getAllNameIDFormats()); foreach ($expectedNameIdFormats as $nameIdFormat) { $test->assertTrue($descriptor->hasNameIDFormat($nameIdFormat)); } }
/** * @param \DOMElement $node * @param DeserializationContext $context * * @return void */ public function deserialize(\DOMElement $node, DeserializationContext $context) { $this->checkXmlNodeName($node, 'SPSSODescriptor', SamlConstants::NS_METADATA); parent::deserialize($node, $context); $this->attributesFromXml($node, array('AuthnRequestsSigned', 'WantAssertionsSigned')); $this->manyElementsFromXml($node, $context, 'AssertionConsumerService', 'md', 'LightSaml\\Model\\Metadata\\AssertionConsumerService', 'addAssertionConsumerService'); }
private function checkSLO(SSODescriptor $descriptor, $binding, $location) { $arr = $descriptor->getAllSingleLogoutServicesByBinding($binding); /** @var SingleLogoutService $svc */ $svc = array_shift($arr); $this->assertNotNull($svc); $this->assertEquals($binding, $svc->getBinding()); $this->assertEquals($location, $svc->getLocation()); }
/** * @param \DOMNode $node * @param DeserializationContext $context */ public function deserialize(\DOMNode $node, DeserializationContext $context) { $this->checkXmlNodeName($node, 'IDPSSODescriptor', SamlConstants::NS_METADATA); parent::deserialize($node, $context); $this->attributesFromXml($node, array('WantAuthnRequestsSigned')); $this->singleSignOnServices = array(); $this->manyElementsFromXml($node, $context, 'SingleSignOnService', 'md', 'LightSaml\\Model\\Metadata\\SingleSignOnService', 'addSingleSignOnService'); $this->attributes = array(); $this->manyElementsFromXml($node, $context, 'SingleSignOnService', 'saml', 'LightSaml\\Model\\Assertion\\Attribute', 'addAttribute'); }