इस तरह के एक frazzled कार्यक्षमता के लिए स्वच्छ और पूर्ण प्रूफ समाधान के लिए एक लाख धन्यवाद। मैं सचमुच, "फेसबुक पूरी तरह से लॉग आउट होने कनेक्ट" पिछले 2 सप्ताह से अधिक खाली जा रहा किया गया है के बाद से मैं इस तथ्य मैं लगभग सभी नई-Facebooker उन का मानना है कि सच को भर में आया था। या हो सकता है सिर्फ यह सिर्फ प्रलेखन का अभाव था या कुछ कोड अंश मैं Facebooker कवर डॉक्स में आज तक नहीं मिल पाई थी।
वैसे भी यह सब से दूर, समाधान जो मुझे इसे प्राप्त ... ऊपर @James बी विधि के लिए निम्न बनाया करने के लिए घूम रहा है।
जाहिर है मैं आप सभी Facebooker स्थापना, विन्यास और उपयोग निर्देशों को पढ़ लिया है यह सोचते हैं हूँ http://github.com/mmangino/facebooker । मैं भी एक प्लगइन "authlogic_facebook_connect" जो आप github.com kalasjocke / authlogic_facebook_connect के पेज पर पा सकते हैं इस्तेमाल किया है।
अब मैं आप पहले से ही fb_login_button या authlogic_facebook_login_button का उपयोग करके फेसबुक के साथ काम करने कनेक्ट आपके आवेदन के लिए कॉन्फ़िगर मान। यह क्लिक करने से आप अपने आप को दोनों अपने फेसबुक खाते में और अपने अनुप्रयोग के स्थानीय खाते में प्रवेश करने के लिए एक पॉपअप देखना चाहते हैं। एक बार जब आप के लिए लॉग इन आप एक facebook_session अपने DB में एक नया उपयोगकर्ता बचत को संभालने के लिए (केवल यदि आप करना चाहते हैं) हो रही होगी।
डिफ़ॉल्ट रूप से आप फेसबुक से प्रतिक्रिया के रूप में facebook_session में उन के जन्मदिन और ईमेल पता हो रही नहीं किया था। उन्हें प्राप्त करने के लिए आप अपने प्रारंभ में कुछ इस तरह की जरूरत है rhtml पेज के शरीर टैग में जावास्क्रिप्ट ...
<%= fb_connect_javascript_tag %> <%=
init_fb_connect "XFBML",{
:app_settings=>" {
permsToRequestOnConnect :
'email,user_birthday' }"} %>
<%= authlogic_facebook_login_button %>
अब अंत में क्या मैं दोनों फेसबुक और अपनी साइट से लॉग आउट किया हो रही के लिए किया था।
आपके आवेदन या जहाँ भी प्रवेश, लॉगआउट, loggedin उपयोगकर्ताओं के नाम आदि को प्रदर्शित करेगा के शीर्षक के अंदर ...
:% को नष्ट>
दो लॉगआउट बटन उपयोगकर्ताओं .. एक के विभिन्न प्रकार के लिए कर रहे हैं। जो आपकी साइट, ख पर सीधे दर्ज किया। जो फेसबुक के माध्यम से अपनी साइट के लिए registerd
- routes.rb में logout_both के लिए मार्ग
map.connect "/ logout_both",: नियंत्रक => "उन",: कार्रवाई => "logout_both"
users_controller.rb अंदर logout_both के लिए कार्रवाई
डीईएफ़ logout_both current_user_session.destroy #clear_facebook_session_information फ़्लैश [: नोटिस] "! लॉगआउट सफल" = विधि logout_both की redirect_to root_path अंत #END
आप सुनिश्चित करें कि कोई फिल्टर नियंत्रक जो प्रतिबंधित कर सकता है logout_both कार्रवाई एक सत्र के बिना निष्पादित किया जाना है में परिभाषित देखते हैं कि बनाने की जरूरत है।
अरे हाँ और आप सोच रहे हैं कि है कि "clear_facebook_session_information" काम करते हुए टिप्पणी की है कि क्यों। तो चिंता मत करो, आप पहले से ही फेसबुक से बाहर किए हुए होते हैं इस कार्रवाई प्रवेश करने से पहले, इस लाइन नहीं रह गया है की जरूरत है। बॉस हम "fb_logout_link" जो पहले लॉग तुम बाहर और उसके बाद इस नए कार्रवाई करने के लिए आप पुनर्निर्देश का उपयोग कर रहे हैं।
ठीक है, कि यह बारे में है। यदि यह ऐसा नहीं है ........ अपने हाथ गंदे जैसे मैं कर रहा हूँ मिल .. में खुदाई .. यह अपने आप हल। Facebooker गहरी है, लेकिन एक निश्चित अंत नहीं है !!!
फिर बहुत धन्यवाद mangino करने और फेसबुक बनाने के लिए kalasjocke रेल के लिए लगभग कोई दर्दनाक कनेक्ट।
एक स्पष्टीकरण लोग ... मेरे ऊपर उत्तर .. वहाँ एक देहाती, जो लॉगआउट के बाद है .., अगर आप पेज को ताज़ा .. उसे पुन: प्रदर्शित होगा आप अपनी साइट पर लॉग इन किया है .. में हालांकि आप सफलतापूर्वक लॉग आउट कर रहे हैं फेसबुक की। मैं गलत था, एक बड़ा स्पष्टीकरण ...... के रूप में तथ्य की बात आप अपने "logout_both" में इन दो पंक्तियों की जरूरत है कार्रवाई
def logout_both <br/>
current_user_session.destroy<br/>
clear_facebook_session_information #MANDATORY TO COMPLETELY CLEAR COOKIES<br/>
reset_session # TO BE 100% sure you can use it optionally<br/>
flash[:notice] = "Logout successful!"<br/>
redirect_to root_path <br/>
end