3

Rails facebooker プラグインを使用して、FB Connect セッションがまだ有効かどうかを確認するにはどうすればよいですか? セッションをチェックできるヘルパーまたはモジュールはありますか? ブラウザで 2 つのタブを開くと、1 つは Facebook でログインし、もう 1 つは自分のサイトでログインし、FB Connect を使用してログインすることがわかります。ユーザーが私のサイトでログアウトしようとすると、Facebook は両方の Cookie を消去しますが、ユーザーが Facebook からログアウトすると、Facebook サイトの Cookie のみが消去されるため、私のサイトの Cookie はまだ残っており、Cookie がまだ有効かどうかを確認する必要がありますか否か...

4

3 に答える 3

3

Facebookerを使用すると、例外を使用しようとすると例外が発生します。これはapplication.rbでrescue_fromすることができます

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
于 2009-09-24T20:55:03.540 に答える
1

まだ賛成票を投じることはできませんが、次の行を追加する答え:

page.redirect_to url

正しい。マイクが読んでいる場合は、Facebooker に追加することをお勧めします。

于 2009-10-23T05:14:04.317 に答える
0

Facebook セッションが無効な場合、このfb_logout_linkメソッドはリダイレクトしません。リダイレクト コールバックを logout_path に追加すると、それが自動的に実行されます。

    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
于 2009-09-30T12:09:59.713 に答える