un million grâce à la solution propre et la preuve complète à une telle fonctionnalité. éreintante J'ai littéralement plus de 2 Blank vais semaines depuis que je suis tombé sur le fait vrai, je crois que presque tous les utilisateurs NEW-Facebooker, « facebook connecter vous déconnecter complètement ». Ou peut-être juste c'était juste un manque de documentation ou d'un extrait de code que je n'ai pas pu trouver jusqu'à ce jour dans la couverture de Facebooker docs.
Quoi qu'il en soit loin de tout cela, de passer à la solution qui m'a fait parvenir ... Suite à la méthode B ci-dessus @ James.
Évidemment , je suppose que vous avez tous lu l' installation de Facebooker, des instructions de configuration et utilisation http://github.com/mmangino/facebooker . J'ai aussi utilisé un plug - in « authlogic_facebook_connect » que vous pouvez trouver à github.com page de kalasjocke / authlogic_facebook_connect.
Maintenant, je suppose que vous avez déjà configuré votre application pour travailler avec facebook connecter à l'aide fb_login_button ou authlogic_facebook_login_button. En cliquant dessus, vous verriez un popup pour vous connecter à la fois votre compte Facebook et dans le compte local de votre application. Une fois que vous vous connectez, vous seriez obtenir un facebook_session pour gérer l'enregistrement d'un nouvel utilisateur dans votre base de données (uniquement si vous souhaitez).
Par défaut, vous seriez pas obtenir d'anniversaire et l'adresse e-mail des utilisateurs dans le facebook_session comme réponse de facebook. Pour les obtenir, vous besoin de quelque chose comme ceci dans votre initialisation javascript dans la balise body de la page RHTML ...
<%= fb_connect_javascript_tag %> <%=
init_fb_connect "XFBML",{
:app_settings=>" {
permsToRequestOnConnect :
'email,user_birthday' }"} %>
<%= authlogic_facebook_login_button %>
Maintenant, enfin, ce que je l'ai fait pour se connecté sur Facebook et mon site.
A l'intérieur l'en-tête de votre application ou chaque fois que le LOGIN, LOGOUT, le nom etc des utilisateurs loggedIn affiche ...
: Supprimer%>
Les deux boutons sont pour différentes déconnexion types d'utilisateurs .. a. qui se sont inscrits directement sur votre site, b. qui Registerd sur votre site via facebook
- Route pour logout_both à routes.rb
map.connect "/ logout_both",: controller => "utilisateurs",: action => "logout_both"
L'action pour logout_both intérieur users_controller.rb
def logout_both current_user_session.destroy #clear_facebook_session_information flash [: avis] "! Déconnexion réussie" = redirect_to root_path extrémité #End de la méthode logout_both
Vous devez vous assurer qu'il n'y a pas de filtres définis dans le contrôleur qui pourrait limiter l'action logout_both à exécuter sans une session.
Ah oui, et si vous vous demandez pourquoi ce « clear_facebook_session_information » est commenté dans l'action. Alors ne vous inquiétez pas, vous êtes déjà connecté sur facebook avant d'entrer dans cette action, cette ligne n'est plus nécessaire. Patron nous utilisons « fb_logout_link » qui connecte d'abord vous et ensuite vous redirige vers cette nouvelle action.
Eh bien, c'est à ce sujet. Si cela ne le fait pas ........ se salir vos mains comme je le fais .. creuser .. résoudre vous-même. Facebooker est profonde, mais a une fin définitive !!!
Encore une fois un grand merci à Mangino & kalasjocke pour faire connecter facebook presque pas douloureux pour rails.
Un peuple de clarification ... dans ma réponse ci-dessus .. Il y a un plouc, qui est .. Après fermeture de session, si vous actualisez la page .. il montrerait à nouveau vous connecté sur votre site .. mais vous sont bien déconnecté de Facebook. Je me suis trompé, UNE GRANDE CLARIFICATION ...... En fait, vous avez besoin d'CES DEUX LIGNES DE VOTRE « logout_both » l'action
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