2
如果我已經通過OpenID對用戶進行了身份驗證,並且他們被重定向回Magento,我該如何自動登錄它們?我所擁有的是他們的電子郵件。我錯過了什麼?通過OpenID登錄用戶到Magento
在此先感謝。
如果我已經通過OpenID對用戶進行了身份驗證,並且他們被重定向回Magento,我該如何自動登錄它們?我所擁有的是他們的電子郵件。我錯過了什麼?通過OpenID登錄用戶到Magento
在此先感謝。
這是回答問題如何登錄客戶,而不是最初的大問題。我決定寫在這裏,因爲代碼格式化在評論中不存在。
// $login here is customer email
$customer = Mage::getModel('customer/customer')
->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
->loadByEmail($login);
Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer)
->renewSession();
// now redirect user to home page or do something else what you need
完美運作!非常感謝!你已經救了我幾個小時的工作! –
請詳細說明。你是否編寫了自己的模塊,該模塊應該通過Open ID登錄用戶? – Zyava
是的,我正在寫我自己的模塊。 –
好吧,所以你有回調頁,登錄後用戶將被開放的id提供者重定向到哪個頁面。在這個頁面上,你有來自開放ID提供商的用戶電子郵件和身份驗證令牌。你需要附加2個表 - auth令牌和用戶ID。你的模塊應該查看這張表,如果在那裏找到了令牌 - 登錄用戶,否則創建新的客戶。您是否知道如何使用Mage_Customer_Model_Customer模型登錄客戶並創建新客戶? – Zyava