![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/UserBundle/Security/SAML/Store/ |
<?php namespace Mautic\UserBundle\Security\SAML\Store; use Doctrine\Persistence\ObjectManager; use LightSaml\Provider\TimeProvider\TimeProviderInterface; use LightSaml\Store\Id\IdStoreInterface; use Mautic\UserBundle\Entity\IdEntry; class IdStore implements IdStoreInterface { public function __construct( private ObjectManager $manager, private TimeProviderInterface $timeProvider ) { } /** * @param string $entityId * @param string $id */ public function set($entityId, $id, \DateTime $expiryTime): void { $idEntry = $this->manager->find(IdEntry::class, ['entityId' => $entityId, 'id' => $id]); if (null == $idEntry) { $idEntry = new IdEntry(); } $idEntry->setEntityId($entityId) ->setId($id) ->setExpiryTime($expiryTime); $this->manager->persist($idEntry); $this->manager->flush(); } /** * @param string $entityId * @param string $id */ public function has($entityId, $id): bool { /** @var IdEntry $idEntry */ $idEntry = $this->manager->find(IdEntry::class, ['entityId' => $entityId, 'id' => $id]); if (null == $idEntry) { return false; } if ($idEntry->getExpiryTime()->getTimestamp() < $this->timeProvider->getTimestamp()) { return false; } return true; } }