/** * @param Organization $organization * @param Constraint $constraint */ public function validate($organization, Constraint $constraint) { if (!$organization->getSectorIdentifierUri()) { return; } $sectorIdentifierUri = $organization->getSectorIdentifierUri(); $domain = $organization->getDomain(); $uri = parse_url($sectorIdentifierUri); if ($uri['host'] !== $domain) { $this->buildUrlViolation('organizations.validation.error.invalid_domain'); } }
private function getOrganization(ClientMetadata $metadata = null) { if ($metadata === null) { return null; } if ($metadata->getOrganization() === null && $metadata->getSectorIdentifierUri()) { $sectorIdentifierUri = $metadata->getSectorIdentifierUri(); try { $verified = $this->getSectorIdentifierUriChecker()->check($metadata, $sectorIdentifierUri); } catch (HttpException $e) { $verified = false; } $uri = parse_url($sectorIdentifierUri); $domain = $uri['host']; $organization = new Organization(); $organization->setDomain($domain)->setName($domain)->setTrusted(false)->setVerifiedAt($verified ? new \DateTime() : null); return $organization; } return $metadata->getOrganization(); }