Magentoの外部サイトからmagentoのログイン機能を利用できました。ただし、ユーザー名とパスワードがある場合にのみ機能します。ユーザーIDしか持っていない場合があります。loginbyid を試してみたところ、true が返され、顧客の詳細が読み込まれますが、html がブラウザーに読み込まれると、顧客のセッションが消去されます。これは「管理者から顧客としてログインする」という一般的な質問ではなく、ID を使用して外部から顧客にログインすることに注意してください。
require_once('path/to/Mage.php');
umask(0);
Mage::app('default','store', $options=null);
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
$customer = $session->getCustomer();
if($session->loginById($usernameOrId)){
$session->setCustomerAsLoggedIn($customer);
return $session->isLoggedIn();
}
return false;
これは true を返しますが、ページが読み込まれた後は false を返します。
require_once('path/to/Mage.php');
umask(0);
Mage::app('default','store', $options=null);
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
return $session->isLoggedIn();
ありがとうございました。