raylar çerezleri yok, facebook, Facebooker eklentisi bağlamak

oy
4

Yani bir çeşit garip bir durum oluyor var. Ben kullanıcıların giriş ve facebook profilleri ile çıkış yapabilmesini mümkün istiyorum raylar için Facebooker eklentisi kullanıyorum. Kullanıcıların çıkış keresinde sayfayı yenileyin Ancak, bu geri bunları kaydeder. Bu, kullanıcıların bağlamak facebook ile giriş yaptığınızda sadece.

Sorunun sahtekar çerez sadece oturumu başlatmasını yeniden edilir ve böylece en iyi tahmin elle çerezleri yok etmek ama bunu nasıl tamamen emin değilim dürüst olmak olduğunu düşünüyorum. Daha önce ben logoutu tıkladıktan sonra her ikisi (Request.Cookies itibaren) benim çerez listesine yazdırılır. çıkış tıklandığında sonra, hala bu çerez kalan sahip ... ama bunu nasıl silineceğini bilmiyorum.

fbsetting_0b78c8f2c95ce671470bdcb1c19e5070 { connectState: 1, oneLineStorySetting: 1, shortStorySetting: 1, inFacebook: yanlış}

Bunun biraz daha uğraşırken sonra, söz konusu çerez ... ama tekrar oturum am sayfayı yenileyerek üzerine bile yoktur.

Bu bir soruna neden olmadığını gerektiğinden emin değil ... tüm localhost üzerinde yapıyorum.

Herhangi bir fikir?

Oluştur 21/05/2009 saat 19:44
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
3

Yerel çerezleri yok etmek bir Facebook Bağlan oturumu sonlandırmak için yeterli değildir. Hala facebook.com etki alanında aktif bir seans olarak bağlantı JS kütüphanesi sürece çerezleri tahrip baştan yaratacak - ve bu çerezler size erişilemez.

Tüm günlük aşımları bağlantı kitaplığında çıkış fonksiyonunu çağırarak tarafından ele alınması gerekir.

Örneğin,

<script>$H.fbconnect.logout();</script>
Cevap 21/05/2009 saat 21:16
kaynak kullanıcı

oy
0

Bir çerezi silmek için, geçmişte bir son kullanma tarihi ile tekrar çerez ayarlamanız gerekir.

Cevap 22/05/2009 saat 18:15
kaynak kullanıcı

oy
6

Bu Kullanıcıların denetleyicisi ne var ise

  def logout_facebook
    clear_facebook_session_information
    redirect_to root_url
  end

ve bu tetiklenir nasıl

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

Bu yerel tarafta çerezleri kaldırmak için var nasıl.

Not: rotalara logout_facebook yöntemine rota eklemek için ihmal etmeyin.

Cevap 19/10/2009 saat 18:21
kaynak kullanıcı

oy
0

Böyle bir bitkin işlevselliğe temiz ve tam korumalı çözüm için bir milyon teşekkürler. Ben hemen hemen tüm YENİ-Facebooker kullanıcıları inanmak true aslında rastladım beri anlamıyla, "facebook tamamen çıkış yapmayı bağlamak" son 2 hafta içinde Blank devam ettik. Ya da belki sadece belgelerin sadece bir eksikliği ya da bazı kod alıntısı ben Facebooker kapak dokümanlarında tarihe kadar bulmak mümkün değildi.

Neyse o uzakta, bana bunu başarmak ... Yukarıdaki @James B yöntemine takiben yapılan çözümüne geçiş.


Açıkçası Hepinizin Facebooker kurulum, yapılandırma ve kullanım talimatlarını okudum varsayıyorum http://github.com/mmangino/facebooker . Ben de kalasjocke / authlogic_facebook_connect sayfa github.com bulabileceğiniz bir eklenti "authlogic_facebook_connect" kullanmışlardır.

Şimdi zaten fb_login_button veya authlogic_facebook_login_button kullanarak facebook ile bağlanıyorsanız işe başvurunuzu yapılandırılmış varsayalım. Bunu tıkladığınızda hem facebook hesaba ve uygulamanızın yerel hesaba Giriş için bir açılır pencere görürdük. Eğer bir facebook_session (eğer isteyen sadece varsa) veritabanında yeni bir kullanıcı tasarrufu işlemek için olursun giriş kez.

Varsayılan olarak facebook dan yanıt olarak facebook_session kullanıcıların doğum günü ve e-posta adresini almak edersin. Onları almak için size başlatma böyle bir şey ihtiyaç rhtml sayfanın gövde etiketinde javascript ...

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

Şimdi nihayet ne Facebook ve sitemde hem oturumum için yaptı.

  1. uygulamanızda veya yerde GİRİŞ, ÇIKIŞ, loggedin kullanıcıların ismi vb gösterecektir başlığındaki İçinde ...

    :>% Silmek

İki oturum kapatma düğmeleri .. bir farklı kullanıcı kesimine içindir. Sitenize kimin b doğrudan kayıtlı. kim facebook üzerinden sitenize kaydeden

  1. routes.rb içinde logout_both için rota

map.connect "/ logout_both",: kontrolör => "kullanıcılar",: action => "logout_both"

  1. users_controller.rb içindeki logout_both için eylem

    [: haber] def current_user_session.destroy #clear_facebook_session_information flaş logout_both "! Çıkış başarılı" = yöntem logout_both ait redirect_to root_path ucu #End

  2. Sen logout_both eylem bir oturum olmadan yürütülecek sınırlayabilir denetleyici tanımlanan hiçbir filtre olmadığından emin olmak gerekir.

  3. Merak ediyorsan Ah evet ve "clear_facebook_session_information" eylem yorumladı neden. Sonra bu eylemi girmeden önce zaten facebook üzerinden giriş yaptığınız, merak etmeyin, bu hat artık gerek yoktur. Patron sizi dışarı ve sonra bu yeni eylem yönlendirir, ilk girişte "fb_logout_link" kullanıyoruz.

Eh, hepsi bu. Bu onu yapmazsa ........ .. kazmak .. ben yapıyorum gibi ellerini kirletme kendin çözmek. Facebooker derin ama kesin bir END vardır !!!

Yine çok teşekkürler Mangino için & facebook yapmak için kalasjocke raylar için neredeyse hiç acı bağlayın.


Bir açıklama insanlar ... Yukarıda benim Yanıt .. Eğer sayfayı yenileyin eğer .. yine sitenizde oturum gösterecek, çıkış yapınca sonra .. bir hödük, .. Orada içinde ancak başarıyla çıktınız ediyoruz Facebook'un. Yanılmışım, BİR BÜYÜK AÇIKLAMA ...... Nitekim SİZİN "logout_both" bu iki satır GEREKİYOR gibi eylem

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
Cevap 24/07/2010 saat 11:15
kaynak kullanıcı

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