/** * @param CriteriaSet $criteriaSet * @param array|CredentialInterface[] $arrCredentials * * @return array|CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { $result = array(); foreach ($criteriaSet->get(EntityIdCriteria::class) as $criteria) { /* @var EntityIdCriteria $criteria */ $result = array_merge($result, $this->credentialStore->getByEntityId($criteria->getEntityId())); } return $result; }
public function test_add_if() { $criteriaSet = new CriteriaSet(); $criteriaSet->addIf(false, function () { return TestHelper::getCriteriaMock($this); }); $criteriaSet->addIf(true, function () { return TestHelper::getCriteriaMock($this); }); $all = $criteriaSet->all(); $this->assertCount(1, $all); }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(PrivateKeyCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($arrCredentials as $credential) { if ($credential->getPrivateKey()) { $result[] = $credential; } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(X509CredentialCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($arrCredentials as $credential) { if ($credential instanceof X509CredentialInterface) { $result[] = $credential; } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(UsageCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($criteriaSet->get(UsageCriteria::class) as $criteria) { /* @var UsageCriteria $criteria */ foreach ($arrCredentials as $credential) { if (false == $credential->getUsageType() || $criteria->getUsage() == $credential->getUsageType()) { $result[] = $credential; } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(AlgorithmCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($criteriaSet->get(AlgorithmCriteria::class) as $criteria) { /* @var AlgorithmCriteria $criteria */ foreach ($arrCredentials as $credential) { if ($credential->getPrivateKey() && $credential->getPrivateKey()->getAlgorith() == $criteria->getAlgorithm() || $credential->getPublicKey() && $credential->getPublicKey()->getAlgorith() == $criteria->getAlgorithm()) { $result[] = $credential; } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(PublicKeyThumbprintCriteria::class)) { return $arrCredentials; } $result = array(); /** @var PublicKeyThumbprintCriteria $criteria */ foreach ($criteriaSet->get(PublicKeyThumbprintCriteria::class) as $criteria) { foreach ($arrCredentials as $credential) { if ($credential->getPublicKey() && $credential->getPublicKey()->getX509Thumbprint() == $criteria->getThumbprint()) { $result[] = $credential; } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param EndpointReference[] $candidates * * @return EndpointReference[] */ public function resolve(CriteriaSet $criteriaSet, array $candidates) { if (false === $criteriaSet->has(LocationCriteria::class)) { return $candidates; } $result = array(); /** @var LocationCriteria $locationCriteria */ foreach ($criteriaSet->get(LocationCriteria::class) as $locationCriteria) { foreach ($candidates as $endpointReference) { if ($endpointReference->getEndpoint()->getLocation() == $locationCriteria->getLocation()) { $result[] = $endpointReference; } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param EndpointReference[] $candidates * * @return EndpointReference[] */ public function resolve(CriteriaSet $criteriaSet, array $candidates) { if (false === $criteriaSet->has(ServiceTypeCriteria::class)) { return $candidates; } $result = array(); /** @var ServiceTypeCriteria $serviceTypeCriteria */ foreach ($criteriaSet->get(ServiceTypeCriteria::class) as $serviceTypeCriteria) { foreach ($candidates as $endpointReference) { $type = $serviceTypeCriteria->getServiceType(); if ($endpointReference->getEndpoint() instanceof $type) { $result[] = $endpointReference; } } } return $result; }
/** * @param ProfileContext $context * * @return CriteriaSet */ protected function getCriteriaSet(ProfileContext $context) { $criteriaSet = new CriteriaSet(); $bindings = $this->getBindings($context); if ($bindings) { $criteriaSet->add(new BindingCriteria($bindings)); } $descriptorType = $this->getDescriptorType($context); if ($descriptorType) { $criteriaSet->add(new DescriptorTypeCriteria($descriptorType)); } $serviceType = $this->getServiceType($context); if ($serviceType) { $criteriaSet->add(new ServiceTypeCriteria($serviceType)); } return $criteriaSet; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(MetadataCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($criteriaSet->get(MetadataCriteria::class) as $criteria) { /* @var MetadataCriteria $criteria */ foreach ($arrCredentials as $credential) { /** @var MetadataCredentialContext $metadataContext */ $metadataContext = $credential->getCredentialContext()->get(MetadataCredentialContext::class); if (false == $metadataContext || $criteria->getMetadataType() == MetadataCriteria::TYPE_IDP && $metadataContext->getRoleDescriptor() instanceof IdpSsoDescriptor || $criteria->getMetadataType() == MetadataCriteria::TYPE_SP && $metadataContext->getRoleDescriptor() instanceof SpSsoDescriptor) { $result[] = $credential; } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param EndpointReference[] $candidates * * @return EndpointReference[] */ public function resolve(CriteriaSet $criteriaSet, array $candidates) { if (false === $criteriaSet->has(IndexCriteria::class)) { return $candidates; } $result = array(); /** @var IndexCriteria $indexCriteria */ foreach ($criteriaSet->get(IndexCriteria::class) as $indexCriteria) { foreach ($candidates as $endpointReference) { $endpoint = $endpointReference->getEndpoint(); if ($endpoint instanceof IndexedEndpoint) { if ($endpoint->getIndex() == $indexCriteria->getIndex()) { $result[] = $endpointReference; } } } } return $result; }
/** * @param CriteriaSet $criteriaSet * @param CredentialInterface[] $arrCredentials * * @return CredentialInterface[] */ public function resolve(CriteriaSet $criteriaSet, array $arrCredentials = array()) { if (false == $criteriaSet->has(CredentialNameCriteria::class)) { return $arrCredentials; } $result = array(); foreach ($criteriaSet->get(CredentialNameCriteria::class) as $criteria) { /* @var CredentialNameCriteria $criteria */ foreach ($arrCredentials as $credential) { $arrCredentialNames = $credential->getKeyNames(); $criteriaName = $criteria->getName(); foreach ($arrCredentialNames as $credentialName) { if ($credentialName == $criteriaName) { $result[] = $credential; break; } } } } return $result; }
/** * @param \PHPUnit_Framework_TestCase $test * @param CriteriaSet $criteriaSet * @param string $class * @param string $getter * @param string $value */ public static function assertCriteria(\PHPUnit_Framework_TestCase $test, CriteriaSet $criteriaSet, $class, $getter, $value) { $test->assertTrue($criteriaSet->has($class)); $criteria = $criteriaSet->getSingle($class); if ($getter) { $test->assertEquals($value, $criteria->{$getter}()); } }
/** * @param CriteriaSet $criteriaSet * @param string $value */ protected function criteriaSetShouldHaveLocationCriteria(CriteriaSet $criteriaSet, $value) { if ($value) { $this->assertTrue($criteriaSet->has(LocationCriteria::class)); /** @var LocationCriteria $criteria */ $criteria = $criteriaSet->getSingle(LocationCriteria::class); $this->assertEquals($value, $criteria->getLocation()); } else { $this->assertFalse($criteriaSet->has(LocationCriteria::class)); } }