![]() 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 LightSaml\Model\Metadata\EntityDescriptor; use LightSaml\Store\EntityDescriptor\EntityDescriptorStoreInterface; use Mautic\CoreBundle\Helper\CoreParametersHelper; class EntityDescriptorStore implements EntityDescriptorStoreInterface { /** * @var EntityDescriptor */ private $entityDescriptor; public function __construct( private CoreParametersHelper $coreParametersHelper ) { } public function get($entityId): ?EntityDescriptor { if ($this->entityDescriptor) { return $this->entityDescriptor; } $this->createEntityDescriptor(); if ($entityId !== $this->entityDescriptor->getEntityID()) { return null; } return $this->entityDescriptor; } public function has($entityId): bool { // SAML is not enabled if (!$this->coreParametersHelper->get('saml_idp_metadata')) { return false; } $entityDescriptor = $this->get($entityId); // EntityIds do not match if (!$entityDescriptor) { return false; } return true; } /** * @return array|EntityDescriptor[] */ public function all(): array { if (!$this->entityDescriptor) { $this->createEntityDescriptor(); } return [$this->entityDescriptor]; } private function createEntityDescriptor(): void { $xml = base64_decode($this->coreParametersHelper->get('saml_idp_metadata')); $this->entityDescriptor = EntityDescriptor::loadXml($xml); } }