我已經使用HybridAuth在我的Facebook應用程序中授權用戶,並將他的access_token存儲在我的數據庫中。使用HybridAuth'Offline'訪問
幾天後,當用戶不在線時,我想讓他的新Facebook朋友也使用HybridAuth。
我可以從他的access_token'重新創建'該用戶以獲得他的朋友,發送通知等嗎?
謝謝!
我已經使用HybridAuth在我的Facebook應用程序中授權用戶,並將他的access_token存儲在我的數據庫中。使用HybridAuth'Offline'訪問
幾天後,當用戶不在線時,我想讓他的新Facebook朋友也使用HybridAuth。
我可以從他的access_token'重新創建'該用戶以獲得他的朋友,發送通知等嗎?
謝謝!
我終於找到了一個可行的黑客攻擊,我將把它留在這裏供下一個尋找它的人使用。如果你確定你的用戶和應用程序有一個有效的令牌,HybridAuth不應該嘗試重定向或返回任何錯誤
(我使用Codeigniter,但將其翻譯爲「純」的HybridAuth應該很簡單:
$token = "GET A TOKEN IN Facebook's API EXPLORER";
$this->load->library('HybridAuthLib');
$this->hybridauthlib->storage()->set("hauth_session.facebook.is_logged_in", 1);
$this->hybridauthlib->storage()->set("hauth_session.facebook.token.access_token", $token);
$service = $this->hybridauthlib->authenticate('Facebook');
if ($service->isUserConnected()){
$user_profile = $service->getUserProfile();
$contacts = $service->getUserContacts();
$access_token = $service->getAccessToken();
var_dump($user_profile);
var_dump($contacts);
var_dump($access_token);
}else{
echo "something went wrong";
}
雖然上面可以工作,我相信建議的做法可能是使用「持久性會話」如下所述: http://hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html
你不是覆蓋當前用戶的OAuth的令牌登錄(即一個正在查看配置文件頁面)?或者您可能只是在內部爲HybridAut設置訪問令牌h操作? IIRC'authenticate()'方法在完成時爲用戶設置會話數據 - 是不是會導致Web應用程序中的主要安全漏洞?澄清可能有所幫助;我正面臨類似的問題。謝謝 – Abdulaziz
我正在使用服務器端進程(由cron處理),用於異步發佈存儲在數據庫中的操作,沒有用戶登錄 - 用戶無法訪問。如果它將通過瀏覽器訪問,則行爲將是您所說的行爲 – Marc
我用它來處理通過JavaScript界面檢索到的令牌。它也適用於其他社交提供商,例如google plus等。非常感謝您的發佈。 – Lucia