Καταστρέψτε τα cookies σε ράγες, facebook συνδεθείτε, plugin facebooker

ψήφοι
4

Γι 'αυτό και έχουν κάτι σαν παράξενη κατάσταση συνεχίζεται. Είμαι χρησιμοποιώντας το plugin Facebooker για ράγες όπου θέλω οι χρήστες να είναι σε θέση να συνδεθείτε και να αποσυνδεθείτε με τα προφίλ τους στο facebook. Ωστόσο, όταν οι χρήστες αποσυνδεθείτε, αν ανανέωση της σελίδας, που τους καταγράφει πίσω. Αυτή είναι μόνο όταν οι χρήστες συνδεθείτε με το facebook συνδεθείτε.

Νομίζω ότι το πρόβλημα είναι ότι ένας αδίστακτος μπισκότο είναι απλά εκ νέου στιγμιότυπο της συνεδρίασης και, επομένως, καλύτερη εικασία μου είναι να καταστρέψει το χέρι τα cookies, αλλά για να είμαι ειλικρινής δεν είμαι απόλυτα σίγουρος για το πώς να το κάνουμε αυτό. Θα τυπωθούν λίστα μπισκότο μου (από Request.Cookies) τόσο πριν όσο και μετά κάνω κλικ αποσύνδεση. Μετά την αποσύνδεση γίνεται κλικ, εξακολουθώ να έχω αυτό το cookie πλανάται ... αλλά δεν ξέρω πώς να το διαγράψετε.

fbsetting_0b78c8f2c95ce671470bdcb1c19e5070 { connectState: 1, oneLineStorySetting: 1, shortStorySetting: 1, inFacebook: false}

Μετά από να παίξει γύρω με το λίγο περισσότερο, ότι το cookie δεν είναι ακόμη εκεί ... αλλά μόλις ανανεώσετε τη σελίδα είμαι συνδεδεμένος πάλι.

Κάνω όλα αυτά σε localhost ... δεν είναι σίγουρος αν αυτό θα προκαλέσει ένα πρόβλημα ή όχι.

Καμιά ιδέα?

Δημοσιεύθηκε 21/05/2009 στις 19:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
3

Η καταστροφή των τοπικών cookies δεν είναι αρκετό για να τερματίσει μια συνεδρία Facebook Connect. Η σύνδεση βιβλιοθήκη JS θα αναδημιουργήσει καταστραφεί cookies για όσο διάστημα εξακολουθούν να έχετε μια ενεργή συνεδρία με τον τομέα facebook.com - και αυτά τα cookies είναι απρόσιτες για σας.

Όλα τα log-out πρέπει να γίνεται με την κλήση της λειτουργίας αποσύνδεσης της σύνδεσης της βιβλιοθήκης.

π.χ,

<script>$H.fbconnect.logout();</script>
Απαντήθηκε 21/05/2009 στις 21:16
πηγή χρήστη

ψήφοι
0

Για να διαγράψετε ένα cookie, θα πρέπει να ρυθμίσετε το cookie και πάλι με ημερομηνία λήξης στο παρελθόν.

Απαντήθηκε 22/05/2009 στις 18:15
πηγή χρήστη

ψήφοι
6

Αυτό είναι ό, τι έχω στο χειριστήριο χρήστες

  def logout_facebook
    clear_facebook_session_information
    redirect_to root_url
  end

και αυτό είναι το πώς ενεργοποιείται

<%= fb_logout_link("Logout out", "#{root_url}users/logout_facebook")%>

Αυτό είναι το πώς το πήρα για να αφαιρέσετε τα cookies στον τοπικό πλευρά.

Σημείωση: μην ξεχάσετε να προσθέσετε μια διαδρομή με τη μέθοδο logout_facebook στις διαδρομές σας.

Απαντήθηκε 19/10/2009 στις 18:21
πηγή χρήστη

ψήφοι
0

ένα εκατομμύριο ευχαριστώ για την καθαρή και πλήρη απόδειξη λύση σε ένα τέτοιο εξοντώσει λειτουργικότητα. Έχω κυριολεκτικά θα Κενό πάνω από 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 μου.

  1. Μέσα στην κεφαλίδα της αίτησής σας ή όπου αλλού η Σύνδεση, Αποσύνδεση, το όνομα loggedin χρήστες κτλ θα εμφανιστεί ...

    : Διαγραφή%>

Οι δύο κουμπιά αποσύνδεσης είναι για διαφορετικό είδος των χρηστών .. ένα. που καταχωρήθηκε απευθείας στην ιστοσελίδα σας, β. που registerd στο site σας μέσω facebook

  1. Διαδρομή για logout_both στην routes.rb

map.connect "/ logout_both",: ελεγκτής => "χρήστες",: action => "logout_both"

  1. Η δράση για την logout_both μέσα users_controller.rb

    def logout_both current_user_session.destroy #clear_facebook_session_information flash [: Ανακοίνωση] "! Αποσύνδεση επιτυχημένη" = τέλος redirect_to root_path #end της μεθόδου logout_both

  2. Θα πρέπει να βεβαιωθείτε ότι δεν υπάρχουν φίλτρα που καθορίζονται στον ελεγκτή που θα μπορούσε να περιορίσει δράση logout_both να εκτελεστεί χωρίς συνεδρία.

  3. Ω ναι και αν αναρωτιέστε γιατί ότι «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
Απαντήθηκε 24/07/2010 στις 11:15
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more