/**
  * @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));
     }
 }
Beispiel #3
0
 /**
  * @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');
 }