un millón de gracias por la solución limpia y completa a prueba a una funcionalidad tales agotado. He estado yendo literalmente en blanco sobre últimas 2 semanas desde que me encontré con el hecho cierto que creo que casi todos los usuarios NEW-Facebooker, "Facebook Connect cerrar la sesión por completo". O tal vez sólo era sólo una falta de documentación o algún fragmento de código que no fue capaz de encontrar hasta la fecha en la documentación de la cubierta Facebooker.
De todos modos lejos de todo eso, se mueve a la solución que me hizo lo logro ... Siguiendo con el método @ James B anterior.
Obviamente estoy asumiendo que todos han leído las instrucciones de instalación Facebooker, configuración y uso http://github.com/mmangino/facebooker . También he utilizado un plugin "authlogic_facebook_connect", que se puede encontrar en la página de github.com kalasjocke / authlogic_facebook_connect.
Ahora supongo que ya ha configurado la aplicación para trabajar con Facebook Connect utilizando fb_login_button o authlogic_facebook_login_button. Haciendo clic en él te gustaría ver una ventana emergente para iniciar la sesión a sí mismo en tanto que su cuenta de Facebook y en la cuenta local de su aplicación. Una vez que entre usted estaría recibiendo un facebook_session manejar el ahorro de un nuevo usuario en su base de datos (sólo si se desea).
Por defecto no estaría recibiendo dirección de cumpleaños y de correo electrónico de los usuarios en el facebook_session como respuesta por parte de Facebook. Para conseguir que se necesita algo como esto en su inicialización javascript en el cuerpo de la etiqueta de la página RHTML ...
<%= fb_connect_javascript_tag %> <%=
init_fb_connect "XFBML",{
:app_settings=>" {
permsToRequestOnConnect :
'email,user_birthday' }"} %>
<%= authlogic_facebook_login_button %>
Ahora, por fin lo que hice por cómo cerrar la sesión de Facebook y mi sitio.
Dentro de la cabecera de su aplicación o donde la conexión, desconexión, loggedin de los usuarios nombre etc mostrará ...
: Eliminar%>
Los dos botones de cierre de sesión son para diferentes tipos de usuarios .. a. El usuario registrado directamente en su sitio, b. que registerd a su sitio a través de Facebook
- Ruta para logout_both en routes.rb
map.connect "/ logout_both",: controller => "usuarios",: action => "logout_both"
La acción de logout_both dentro users_controller.rb
def logout_both current_user_session.destroy #clear_facebook_session_information rápida [: aviso] "! Salir con éxito" = final redirect_to root_path #End de logout_both método
Es necesario asegurarse de que no hay filtros definidos en el controlador que podría limitar la acción logout_both a ser ejecutado sin una sesión.
Oh, sí, y si usted se pregunta por qué "clear_facebook_session_information" se comenta en la acción. Entonces no se preocupe, ya has iniciado sesión de facebook antes de entrar en esta acción, ya no es necesaria esta línea. Jefe que estamos usando "fb_logout_link", que primero los troncos hacia fuera y luego le redirige a esta nueva acción.
Bueno, eso es todo. Si esto no lo hace ........ ensuciarse las manos que estoy haciendo .. .. cavar en resolverlo por sí mismo. Facebooker es profunda, pero tiene un final definido !!!
De nuevo muchas gracias a Mangino y kalasjocke para la fabricación de Facebook Connect casi no dolorosa para los carriles.
Un pueblo de clarificación ... en mi respuesta anterior .. Hay un cateto, que es .. Después de cerrar la sesión, si actualiza la página .. De nuevo demostró que ha entrado en el en su sitio .. sin embargo está conectado con éxito de Facebook. Estaba equivocado, una simple aclaración GRANDE ...... Como cuestión de hecho, usted no necesita estas dos líneas EN SU "logout_both" acción
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