Elpusztítani a cookie-k sínek, Facebook Connect, Facebooker bővítmény

szavazat
4

Szóval van valami furcsa helyzet folyik. Én használ a Facebooker plugin sínek, ahol szeretnék a felhasználók be tud jelentkezni és abból ki azok facebook profilokat. Azonban, ha a felhasználók a kilépéssel, ha frissítse az oldalt, naplóz őket vissza. Ez csak akkor, ha a felhasználók be a Facebook csatlakozni.

Azt hiszem, a probléma az, hogy egy gazember cookie csak újra példányosítanánk az ülésen, és így a legjobb tippem az, hogy kézzel elpusztítsa a cookie-kat, de hogy őszinte legyek nem vagyok teljesen biztos, hogy hogyan kell ezt csinálni. Kinyomtattam én cookie-listán (az request.cookies) előtt és után egyaránt rákattintok logout. Kijelentkezés után kattint, még mindig van ez a süti hosszan ... de nem tudom, hogyan kell törölni.

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

Miután játszott vele egy kicsit, hogy a cookie még ott sem ... de amikor az oldal frissítésével vagyok jelentkezve újra.

Azért csinálom ezt minden localhost-on ... nem biztos abban, hogy ne okozzon problémát, vagy sem.

Bármilyen ötletet?

A kérdést 21/05/2009 19:44
a forrás felhasználó
Más nyelveken...                            


4 válasz

szavazat
3

Tönkretéve a helyi cookie-k nem elég, hogy befejezze a Facebook Connect ülésén. A connect JS könyvtárat újra létrehozza elpusztult a cookie-kat, amíg még van egy aktív ülésén a facebook.com tartomány - és a cookie-k nem férhet hozzá.

Minden log-out kell kezelni hívja a kilépés funkciót a connect könyvtárban.

például,

<script>$H.fbconnect.logout();</script>
Válaszolt 21/05/2009 21:16
a forrás felhasználó

szavazat
0

Ha törölni cookie, be kell állítani a cookie ismét egy lejárati dátumot a múltban.

Válaszolt 22/05/2009 18:15
a forrás felhasználó

szavazat
6

Ez az, amit én a felhasználók vezérlő

  def logout_facebook
    clear_facebook_session_information
    redirect_to root_url
  end

és ez hogyan váltja

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

Így kaptam meg, hogy távolítsa el a cookie-kat a helyi oldalon.

Megjegyzés: ne felejtsük el, hogy adjunk egy útvonalat a logout_facebook módszer az útvonalakat.

Válaszolt 19/10/2009 18:21
a forrás felhasználó

szavazat
0

egy millió köszönet a tiszta és teljes bizonyítékot megoldás egy ilyen rongyos funkciót. Már szó szerint megy Üres az elmúlt 2 hétben, mióta rátaláltam a tény igaz Hiszem szinte minden NEW-Facebooker felhasználók „Facebook Connect jelentkezzen ki teljesen.” Vagy talán csak ez csak egy dokumentáció hiánya, vagy valamilyen kód részletet nem voltam képes megtalálni évig dátum Facebooker fedél docs.

Egyébként távol, hogy mozog a megoldás, amely engem elérni azt ... Miután a @James B eljárás szerint.


Nyilván én feltételezve, minden elolvasta Facebooker telepítés, konfigurálás és használati utasítások http://github.com/mmangino/facebooker . Én is használtam egy plugin „authlogic_facebook_connect”, amely megtalálható a github.com lapja kalasjocke / authlogic_facebook_connect.

Most feltételezzük, hogy már beállította az alkalmazás számára, hogy működjön együtt a Facebook Connect segítségével fb_login_button vagy authlogic_facebook_login_button. Erre kattintva látnál egy felugró bejelentkezni magát mind a facebook számla és a helyi fiók az alkalmazás. Ha be akarsz kapok egy facebook_session kezelni megtakarítás egy új felhasználót a DB (csak ha szeretné).

Alapértelmezésben azt nem kapok születésnapját és e-mail címét a felhasználók a facebook_session mint válasz a facebook. Ahhoz, hogy ezeket meg kell ilyet az incializáló javascript a szervezetben tag a rhtml oldalon ...

<%= fb_connect_javascript_tag %>   <%=
init_fb_connect "XFBML",{
:app_settings=>" {
permsToRequestOnConnect :
'email,user_birthday' }"} %>
<%= authlogic_facebook_login_button %>

Most végre, amit tettem léptet ki a mind a Facebook és a helyszínen.

  1. Bent a fejléc az alkalmazás, vagy bárhol a belépés, LOGOUT, loggedin felhasználók nevét stb jelennek meg ...

    : Delete%>

A két Kilépés gombok különböző típusú felhasználók .. a. aki regisztrált közvetlenül a webhelyen, b. aki a regisztrálni a webhelyére facebook

  1. Útvonal logout_both a routes.rb

map.connect "/ logout_both",: vezérlő => "felhasználó",: action => "logout_both"

  1. A kereset logout_both belül users_controller.rb

    def logout_both current_user_session.destroy #clear_facebook_session_information vaku [: értesítés] = "Kilépés sikeres!" redirect_to root_path végén #end módszer logout_both

  2. Meg kell győződni arról, hogy nincs meghatározott szűrőkre az adatkezelő, amely korlátozza logout_both fellépés nélkül megvalósul ülésén.

  3. Ó, igen, és ha kíváncsi, hogy miért „clear_facebook_session_information” kommentálta az akcióban. Akkor ne aggódj, akkor már kijelentkezett a facebook, mielőtt ezt a műveletet, ez a sor már nincs szükség. Boss mi használ „fb_logout_link”, amely először jelentkezik ki, majd átirányítja az új intézkedéseket.

Nos, ennyi. Ha ez nem csinálni ........ kap a kezét piszkos, mint csinálok .. ásni .. hárítani. Facebooker mély, de van egy határozott END !!!

Ismét köszönet Mangino & kalasjocke készítésére Facebook Connect szinte nem fájdalmas sínek.


Egy pontosítás emberek ... én választ a fenti kérdésre .. Van egy bunkó, ami .. Kijelentkezés után, ha frissítse az oldalt .. ez megint megmutatja bejelentkezve webhelyen .. viszont te sikeresen kijelentkezett Facebook. Tévedtem, egy nagy TISZTÁZÁSA ...... Ami azt illeti ha nem kell két sorokat a „logout_both” akció

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
Válaszolt 24/07/2010 11:15
a forrás felhasználó

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