2011-10-10 10 views
5

से लॉग आउट नहीं करता है मेरे पास एक वेबसाइट है जो PHP एसडीके और जेएस एसडीके दोनों का उपयोग कर रही है।जेएस एसडीके से लॉग आउट करना PHP एसडीके

दोनों में ओएथ को अपडेट करने के बाद, मैंने देखा है कि जेएस से लॉग आउट करना वास्तव में उपयोगकर्ता को PHP से लॉग आउट नहीं करता है।

ऐसा लगता है कि सामान्य समाधान '/ me' के लिए कॉल करना है और फिर, यदि त्रुटियां हैं, तो मान लें कि उपयोगकर्ता लॉग आउट हो गया है। हालांकि, मुझे प्रत्येक पृष्ठ प्रस्तुत करने पर मुझे कॉल करने की आवश्यकता नहीं है, मैं सिर्फ यह जानना चाहता हूं कि उपयोगकर्ता प्रत्येक रेंडर पर एफबी एपीआई कॉल के प्रदर्शन हिट के बिना साइन इन किया गया है या नहीं।

क्या एसएसके के लिए जेएस एसडीके के माध्यम से होने वाले लॉगआउट के बारे में सूचित करने के लिए PHP एसडीके का कोई तरीका है?

कुछ बातें मैं कोशिश की है:

  • टिप्पणी बाहर Facebook.php
  • में setPersistentData की सामग्री को मैन्युअल fbsr _ :: APPID :: कुकी

धन्यवाद हटाना!

+1

आप इस साथ एक पृष्ठ पर ajax कॉल की तरह कुछ करने की कोशिश की [ '$ फेसबुक> destorySession()'] (https://github.com/facebook/php-sdk/blob/master/src/ जेएस कॉलबैक पर base_facebook.php # L1088) विधि? – ifaour

+0

इस हालिया अपडेट को php एसडीके पर देखें: https://github.com/facebook/php-sdk/commit/4b0e00096c01a959c3f7d9b0655856c17c46383f शायद आप इसे प्रासंगिक –

+0

प्राप्त कर सकते हैं एसडीके का संस्करण मैंने नष्ट नहीं किया था सत्र, यह ऐसा लगता है कि काम किया है। धन्यवाद! –

उत्तर

0

फेसबुक पुस्तकालय

$access_token = $this->facebook->getAccessToken(); 

से उपयोगकर्ता पहुंच टोकन प्राप्त और उसके बाद लॉगआउट समारोह

if ($this->facebook_user) 
     { 


     $logoutUrl = $this->facebook->getLogoutUrl()."&access_token=".$access_token; 


     redirect($logoutUrl); 
     } 

में इस कोड का उपयोग और फेसबुक पुस्तकालय फ़ाइल में कुछ परिवर्तन करना।

public function getLogoutUrl($params=array()) { 
    return $this->getUrl(
     'www', 
     'logout.php', 
     array_merge(array(
     'next' => $this->getCurrentUrl(), 

    ), $params) 
    ); 
    } 
संबंधित मुद्दे