public function onGetClient(GetClientEvent $event) { if ($this->revalidateSectorIdentifierUriOnAuth === false) { return; } $repo = $this->em->getRepository('LoginCidadaoOpenIDBundle:ClientMetadata'); $metadata = $repo->findOneBy(array('client' => $event->getClient())); if ($metadata instanceof ClientMetadata) { $this->sectorIdentifierUriChecker->recheck($metadata); } }
/** * @param ClientMetadata $metadata * @param Constraint $constraint */ public function validate($metadata, Constraint $constraint) { if (!$metadata->getSectorIdentifierUri()) { return; } $sectorIdentifierUri = $metadata->getSectorIdentifierUri(); /** @var Organization $organization */ $organization = $this->orgRepo->findOneBy(compact('sectorIdentifierUri')); $success = $this->uriChecker->check($metadata, $sectorIdentifierUri); if (!$success) { $metadata->setOrganization(null); } if ($success && $organization instanceof Organization) { $metadata->setOrganization($organization); } }