Ruby on rails 如何在使用designe+;omniauth+;rails 3?

Ruby on rails 如何在使用designe+;omniauth+;rails 3?,ruby-on-rails,facebook,devise,omniauth,Ruby On Rails,Facebook,Devise,Omniauth,我使用FacebookConnect在Rails3上使用Desive+omniauth实现了帐户创建和登录。然而,我的问题是在用户注销时清除facebook会话和cookie。当前,当用户注销时,它似乎会清除当前会话。但是,当用户再次登录时,由于facebook cookie,它会自动登录用户。我希望使用注销方法清除cookie,这样当用户下次尝试登录时,它将要求用户使用facebook登录 现在,我正在使用默认的设计路线“design_for:users”。我应该通过创建“类sessionco

我使用FacebookConnect在Rails3上使用Desive+omniauth实现了帐户创建和登录。然而,我的问题是在用户注销时清除facebook会话和cookie。当前,当用户注销时,它似乎会清除当前会话。但是,当用户再次登录时,由于facebook cookie,它会自动登录用户。我希望使用注销方法清除cookie,这样当用户下次尝试登录时,它将要求用户使用facebook登录

现在,我正在使用默认的设计路线“design_for:users”。我应该通过创建“类sessioncontroller
任何帮助都将不胜感激

为了清除FB会话,您必须使用FB JS SDK

这就是我所做的

首先,init FB JS。我用了一个局部的,但你可以把这个放在布局中

<script type="text/javascript">
  window.fbAsyncInit = function() {
    FB.init({
      appId: '[APP_ID]', 
      status: true, 
      cookie: true, 
      xfbml: true});
  };

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
我的application.html.erb

<% if user_signed_in? %>
  <p><%= link_to "logout", "#", :id => "logout", :redirect_url => destroy_user_session_path %></p>
  <p>Hi, <%= current_user.email %></p>
<% else %>
  <p><%= link_to 'Login with Facebook', '/auth/facebook/' %></p>
<% end %>

“注销”:重定向\u url=>销毁\u用户\u会话\u路径%>


你能找到这个问题的答案吗?
<% if user_signed_in? %>
  <p><%= link_to "logout", "#", :id => "logout", :redirect_url => destroy_user_session_path %></p>
  <p>Hi, <%= current_user.email %></p>
<% else %>
  <p><%= link_to 'Login with Facebook', '/auth/facebook/' %></p>
<% end %>