Ruby on rails 使用facebooker检查FB Connect会话是否过期
如何使用rails facebooker插件检查FB Connect会话是否仍然有效?是否有任何助手或模块可以检查会话?我发现,若我在浏览器中打开两个标签,一个是使用facebook登录,另一个是使用我的网站,然后使用FB Connect登录。当用户试图在我的网站上注销时,facebook将删除这两个cookie,但当用户通过facebook注销时,它将只删除facebook网站上的cookie,因此我网站上的cookie仍然保留,我需要检查cookie是否仍然有效…使用Facebooker,当您尝试使用该异常时,您将得到一个异常,可以在application.rb中对其进行解救Ruby on rails 使用facebooker检查FB Connect会话是否过期,ruby-on-rails,facebook,facebooker,Ruby On Rails,Facebook,Facebooker,如何使用rails facebooker插件检查FB Connect会话是否仍然有效?是否有任何助手或模块可以检查会话?我发现,若我在浏览器中打开两个标签,一个是使用facebook登录,另一个是使用我的网站,然后使用FB Connect登录。当用户试图在我的网站上注销时,facebook将删除这两个cookie,但当用户通过facebook注销时,它将只删除facebook网站上的cookie,因此我网站上的cookie仍然保留,我需要检查cookie是否仍然有效…使用Facebooker,当
rescue_from Facebooker::Session::SessionExpired, :with => :facebook_session_expired
def facebook_session_expired
clear_fb_cookies!
clear_facebook_session_information
reset_session # remove your cookies!
flash[:error] = "Your facebook session has expired."
redirect_to root_url
end
Facebook会话无效时,
fb\u logout\u链接
方法不会重定向。添加一个重定向回调到您的注销路径,它将为您完成这项工作
def fb_logout_link(text,url,*args)
js = update_page do |page|
page.call "FB.Connect.logoutAndRedirect",url
# When session is valid, this call is meaningless, since we already redirect
# When session is invalid, it will log the user out of the system.
page.redirect_to url # You can use any *string* based path here
end
link_to_function text, js, *args
end
我还不能推翻这一点,但答案补充了一句话:
page.redirect_to url
这是正确的。如果Mike正在阅读,我建议将其添加到Facebooker