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ı.
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
- routes.rb içinde logout_both için rota
map.connect "/ logout_both",: kontrolör => "kullanıcılar",: action => "logout_both"
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
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.
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