2012-10-30 8 views
6

के साथ 'ऑफ़लाइन' पहुंच मैंने पहले ही अपने फेसबुक एप्लिकेशन में हाइब्रिड एथ का उपयोग करके उपयोगकर्ता को अधिकृत कर दिया है और अपने डेटाबेस में उसकी access_token संग्रहीत किया है।हाइब्रिडऑथ

दिन बाद, जब उपयोगकर्ता ऑनलाइन नहीं होता है, तो मैं हाइब्रिडऑथ का उपयोग करके अपने नए फेसबुक दोस्तों को प्राप्त करना चाहता हूं।

क्या मैं उस उपयोगकर्ता को अपने दोस्तों से प्राप्त करने, सूचनाएं भेजने आदि के लिए अपने access_token से 'पुन: बना सकता हूं'?

धन्यवाद!

उत्तर

7

मुझे अंततः एक हैक मिला जो काम करता है, मैं इसे अगले व्यक्ति के लिए ढूंढने के लिए यहां छोड़ दूंगा। क्या आप वाकई अपने उपयोगकर्ता और एप्लिकेशन के लिए एक वैध टोकन है कि करते हैं, तो 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"; 
    } 
+0

आप अधिभावी वर्तमान (उपयोगकर्ता के OAuth के टोकन लॉग इन नहीं कर रहे हैं यानी, एक प्रोफाइल पेज देख रहा है)? या शायद आप हाइब्रिडऑट के लिए आंतरिक रूप से एक्सेस टोकन सेट कर रहे हैं एच पर काम करने के लिए? IIRC 'प्रमाणित()' विधि पूर्ण होने पर उपयोगकर्ता के लिए सत्र डेटा सेट करती है - क्या यह आपके वेब ऐप में प्रमुख सुरक्षा छेद नहीं पैदा कर रहा है? एक स्पष्टीकरण मदद कर सकता है; मुझे एक समान समस्या का सामना करना पड़ रहा है। धन्यवाद – Abdulaziz

+0

मैं इसे सर्वर साइड प्रोसेस (क्रॉन द्वारा संभाला गया) में उपयोग कर रहा हूं जिसे मैं डेटाबेस में संग्रहीत क्रियाओं को अतुल्यकालिक रूप से प्रकाशित करने के लिए उपयोग कर रहा हूं, इसमें कोई उपयोगकर्ता लॉग इन नहीं है - यह उपयोगकर्ताओं के लिए उपलब्ध नहीं है। यदि इसे ब्राउज़र के माध्यम से एक्सेस किया जाएगा, तो व्यवहार वह होगा जो आप कह रहे हैं – Marc

+0

मैंने इसे जावास्क्रिप्ट इंटरफ़ेस से पुनर्प्राप्त टोकन के साथ काम करने के लिए उपयोग किया था। यह बाकी सामाजिक प्रदाताओं के साथ भी काम करता है, जैसे, Google प्लस इत्यादि। आपकी पोस्ट के लिए बहुत बहुत धन्यवाद। – Lucia

1

ऊपर काम कर सकते हैं, मेरा मानना ​​है कि सलाह देते हैं दृष्टिकोण के रूप में यहाँ वर्णित "लगातार सत्र" का उपयोग करने के हो सकते हैं: http://hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html