ένα εκατομμύριο ευχαριστώ για την καθαρή και πλήρη απόδειξη λύση σε ένα τέτοιο εξοντώσει λειτουργικότητα. Έχω κυριολεκτικά θα Κενό πάνω από 2 τελευταίες εβδομάδες από τότε που ήρθα σε όλη την πραγματικότητα αλήθεια να πιστεύω ότι σχεδόν όλοι οι χρήστες ΝΕΑ-facebooker, «facebook συνδέστε τη σύνδεση εντελώς». Ή ίσως ακριβώς ήταν απλά η έλλειψη τεκμηρίωσης ή κάποιο κωδικό απόσπασμα δεν ήμουν σε θέση να βρει μέχρι σήμερα στην κάλυψη facebooker docs.
Τέλος πάντων μακριά από όλα αυτά, κινείται προς τη λύση που με έκανε να το πετύχουμε ... Μετά τη μέθοδο @James Β ανωτέρω.
Προφανώς είμαι υποθέτοντας ότι όλοι έχετε διαβάσει τις οδηγίες εγκατάστασης facebooker, τη διαμόρφωση και τη χρήση http://github.com/mmangino/facebooker . Επίσης, έχουν χρησιμοποιήσει ένα πρόσθετο «authlogic_facebook_connect», το οποίο μπορείτε να βρείτε στη σελίδα github.com της kalasjocke / authlogic_facebook_connect.
Τώρα υποθέτω ότι έχετε ήδη ρυθμιστεί αίτησή σας για να συνεργαστεί με το Facebook Connect χρησιμοποιώντας fb_login_button ή authlogic_facebook_login_button. Κάνοντας κλικ σε αυτό που θα δείτε ένα αναδυόμενο παράθυρο για να συνδεθείτε στο λογαριασμό του στο facebook και στο τοπικό λογαριασμό της εφαρμογής σας. Μόλις συνδεθείτε θα ήθελα να πάρει ένα facebook_session να χειριστεί την αποθήκευση ενός νέου χρήστη στο DB σας (μόνο αν θέλετε να).
Εξ ορισμού δεν θα πρέπει να πάρει τα γενέθλια και τη διεύθυνση ηλεκτρονικού ταχυδρομείου των χρηστών του facebook_session ως απάντηση από το facebook. Για να τους πάρει θα πρέπει να έχετε κάτι σαν και αυτό στην προετοιμασία σας javascript στην ετικέτα σώμα της σελίδας RHTML ...
<%= fb_connect_javascript_tag %> <%=
init_fb_connect "XFBML",{
:app_settings=>" {
permsToRequestOnConnect :
'email,user_birthday' }"} %>
<%= authlogic_facebook_login_button %>
Τώρα επιτέλους τι έκανα για να πάρει αποσυνδεθεί τόσο το Facebook και το site μου.
Μέσα στην κεφαλίδα της αίτησής σας ή όπου αλλού η Σύνδεση, Αποσύνδεση, το όνομα loggedin χρήστες κτλ θα εμφανιστεί ...
: Διαγραφή%>
Οι δύο κουμπιά αποσύνδεσης είναι για διαφορετικό είδος των χρηστών .. ένα. που καταχωρήθηκε απευθείας στην ιστοσελίδα σας, β. που registerd στο site σας μέσω facebook
- Διαδρομή για logout_both στην routes.rb
map.connect "/ logout_both",: ελεγκτής => "χρήστες",: action => "logout_both"
Η δράση για την logout_both μέσα users_controller.rb
def logout_both current_user_session.destroy #clear_facebook_session_information flash [: Ανακοίνωση] "! Αποσύνδεση επιτυχημένη" = τέλος redirect_to root_path #end της μεθόδου logout_both
Θα πρέπει να βεβαιωθείτε ότι δεν υπάρχουν φίλτρα που καθορίζονται στον ελεγκτή που θα μπορούσε να περιορίσει δράση logout_both να εκτελεστεί χωρίς συνεδρία.
Ω ναι και αν αναρωτιέστε γιατί ότι «clear_facebook_session_information» σχολιάζεται στη δράση. Στη συνέχεια, μην ανησυχείτε, είστε ήδη συνδεδεμένοι από το facebook πριν από την είσοδο αυτή την ενέργεια, η γραμμή αυτή δεν είναι πλέον απαραίτητη. Αφεντικό χρησιμοποιούμε «fb_logout_link» που πρώτη αρχεία καταγραφής σας έξω και στη συνέχεια να σας ανακατευθύνει σε αυτή τη νέα δράση.
Λοιπόν, αυτό είναι όλο. Αν αυτό δεν το κάνει ........ λερώσετε τα χέρια σας, όπως κάνω .. σκάψει σε .. λύσουν μόνοι σας. Facebooker είναι βαθιά, αλλά έχει μια σαφή ΤΕΛΟΣ !!!
Και πάλι σας ευχαριστώ πολύ για την mangino & kalasjocke για την κατασκευή facebook συνδέσετε σχεδόν καθόλου επώδυνη για ράγες.
Μια διευκρίνιση άνθρωποι ... στην απάντησή μου παραπάνω .. Υπάρχει ένας χωριάτης, η οποία είναι .. Μετά την αποσύνδεση, εάν ανανεώσετε τη σελίδα .. θα δείξει και πάλι θα εισέλθει στο χώρο σας .. όμως έχετε συνδεθεί με επιτυχία του Facebook. Έκανα λάθος, ένα μεγάλο ΔΙΕΥΚΡΙΝΙΣΗ ...... Ως Μάλιστα χρειάζεστε αυτές τις δύο γραμμές ΣΕ ΣΑΣ «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