Cross Origin AJAX, чтобы проверить, вошел ли пользователь на сайт Magento 1.9 - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь аутентифицировать пользователя Magento из стороннего видеоплеера.Намереваясь разрешить встраивание видео с помощью метода iframe, но при этом все же иметь возможность аутентифицировать доступ к видео.

Я написал расширение Magento с двумя конечными точками AJAX, одна из которых проверяет, вошел ли пользователь в систему.и другой, чтобы принять почтовый запрос для входа в систему пользователя.

При выполнении «чековых» запросов от домена веб-сайта Magento они работают как положено, но у меня возникают проблемы, когда запросы исходят от кроссдомен происхождения.

Можно ли аутентифицировать сеансы Magento 1.9 с перекрестным происхождением?Если да, то как?

public function loggedAction()
{
    umask(0); Mage::app('default');
    Mage::getSingleton('core/session', array('name' => 'frontend'));
    $sessionCustomer = Mage::getSingleton("customer/session");
     $result = array(
        'success' => false,
    );

    if ($sessionCustomer->isLoggedIn()) {

        $result['success'] = true;
        $result['subscriber'] = isSubscriptionActive(Mage::getSingleton('customer/session')->getCustomer());

        $this->getResponse()
        ->setHeader('Access-Control-Allow-Origin', '*')
        ->setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Credentials')
        ->setHeader('Access-Control-Expose-Headers', 'x-json')
        ->setBody(Mage::helper('core')->jsonEncode($result));
    }
    else {
        $this->getResponse()
        ->setHeader('Access-Control-Allow-Origin', '*')
        ->setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Credentials')
        ->setHeader('Access-Control-Expose-Headers', 'x-json')
        ->setBody(Mage::helper('core')->jsonEncode($result));
    }
}
...