namespace MiniOrange\IDPSaml\Observer;
use Magento\Framework\Event\ObserverInterface;
use MiniOrange\IDPSaml\Helper\IDPUtility;
use Magento\Customer\Model\Session;
use Magento\Framework\Message\ManagerInterface;
use Magento\Framework\Session\SessionManagerInterface;
use MiniOrange\IDPSaml\Helper\Data;
use DOMDocument;
use MiniOrange\IDPSaml\Controller\Actions\MiniOrangeAuthnRequest;
use MiniOrange\IDPSaml\Controller\Actions\ProcessResponseAction;
use MiniOrange\IDPSaml\Helper\Saml2\SAML2Utilities;
class SAMLIDPObserver implements ObserverInterface
{
protected $customerSession;
protected $data;
protected $session;
protected $idpUtility;
protected $urlInterface;
protected $utilities;
protected $redirect;
protected $messageManager;
protected $eventManager;
protected $resultRedirectFactory;
protected $context;
public function __construct(Session $d9, IDPUtility $Ng, Data $Ti, SessionManagerInterface $Cw, ManagerInterface $Hr, \Magento\Framework\Event\ManagerInterface $HA, \Magento\Framework\Controller\Result\RedirectFactory $jh, \Magento\Framework\UrlInterface $L8, SAML2Utilities $wa, \Magento\Framework\App\Action\Context $FF)
{
$this->idpUtility = $Ng;
$this->session = $Cw;
$this->data = $Ti;
$this->customerSession = $d9;
$this->messageManager = $Hr;
$this->eventManager = $HA;
$this->resultRedirectFactory = $jh;
$this->urlInterface = $L8;
$this->utilities = $wa;
$this->context = $FF;
}
public function execute(\Magento\Framework\Event\Observer $U3)
{
$U1 = $this->idpUtility->getSessionData("sp_issuer_from_request");
if (!$U1) {
goto yTj;
}
$u2 = $this->idpUtility->getSessionData("RelayState");
$Kb = $this->idpUtility->getissuer("miniorange_sp_table", $U1);
$lQ = $Kb[0]["acs_url"];
$lD = $this->idpUtility->getSessionData("inResponseTo");
$this->idpUtility->unsetSessionData("RelayState");
$this->idpUtility->unsetSessionData("sp_issuer_from_request");
$this->idpUtility->unsetSessionData("inResponseTo");
if (!$this->customerSession->authenticate()) {
goto zLn;
}
$this->idpUtility->log_debug("Inside if in mo_idp_authorize_user");
$XE = new ProcessResponseAction($this->customerSession, $this->idpUtility, $this->data, $this->session, $this->messageManager, $this->eventManager, $this->urlInterface, $this->utilities, $this->context);
$XE->mo_idp_send_reponse($lQ, $U1, $u2, $lD);
zLn:
yTj:
}
}
© 2023 Quttera Ltd. All rights reserved.