Я делаю модуль Magento для входа в Auth0.Я использую Auth0 php lib, который у меня есть в папке lib, которую я получаю, используя composer.С наблюдателем я загружаю эту PHP-библиотеку.Я могу вызвать url с помощью действия моего контроллера модуля, который затем проверит, загружен ли пользователь с Auth0, если да, он проверит, есть ли пользователь Magento с этим электронным письмом, и войдет в него.Но я хочу сделать это автоматически, поэтому, когда кто-нибудь посещает мой интернет-магазин Magento, он проверит Auth0 и автоматически войдет в него.Как я могу это сделать ?Я пробовал это с наблюдателем, но безуспешно, не уверен, какое событие мне следует использовать.Спасибо
Пример автозагрузки Auth0 php lib с наблюдателем:
public static function controllerFrontInitBefore(Varien_Event_Observer $event) {
self::init();
}
static function init()
{
// Add our vendor folder to our include path
set_include_path(get_include_path() . PATH_SEPARATOR . Mage::getBaseDir('lib') . DS . 'MyCompany' . DS . 'Sso' . DS . 'vendor');
// Include the autoloader for composer
require_once(Mage::getBaseDir('lib') . DS . 'MyCompany' . DS . 'Sso' . DS . 'vendor' . DS . 'autoload.php');
}
Пример действия контроллера (который мне нужно вызывать автоматически на каждой странице):
public function checkAction()
{
$domain = '***.eu.auth0.com';
$clientId = '***';
$clientSecret = '***';
$audience = 'https://***.eu.auth0.com/userinfo';
$redirectUri = 'http://***/sso/index/check';
$auth0 = new Auth0([
// See Installation above to setup environment variables.
'domain' => $domain,
'client_id' => $clientId,
'client_secret' => $clientSecret,
'audience' => $audience,
'redirect_uri' => $redirectUri,
// The scope determines what data is provided by the /userinfo endpoint.
// There must be at least one valid scope included here for anything to be returned from /userinfo.
'scope' => 'openid profile',
'persist_id_token' => true,
'persist_access_token' => true,
'persist_refresh_token' => true
]);
$userInfo = $auth0->getUser();
if (empty($userInfo)) {
$auth0->login();
} else {
//login magento user
}