2009-09-23 1 views
3

FB Connect 세션이 여전히 유효한지 또는 레일스 facebooker 플러그인을 사용하지 않는지 확인하는 방법은 무엇입니까? 세션을 확인할 수있는 도우미 나 모듈이 있습니까? 브라우저에서 2 탭을 열면 Facebook에서 하나의 로그인으로, 다른 하나는 내 사이트에서 FB Connect를 사용하여 로그인하는 것입니다. 사용자가 내 사이트에서 로그 아웃을 시도하면 페이스 북은 두 쿠키를 지우지 만 페이 스북을 통해 사용자가 로그 아웃하면 페이스 북 사이트에서만 쿠키가 지워지므로 내 사이트의 쿠키가 여전히 남아 있으므로 쿠키가 유효한지 여부를 확인해야합니다 여부 ... 당신은 application.rb에 rescue_from'd 할 수있는 예외를 사용하려고 할 때, 당신은 예외를 얻을 수 있습니다 Facebooker를 사용facebooker를 사용하여 FB 연결 세션 만료 확인

답변

3

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 
0

fb_logout_link 방법은 때 리디렉션하지 않습니다 Facebook 세션이 잘못되었습니다. 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 
1

아직 일을 upvote에 수 없지만 줄을 추가 답 :

page.redirect_to url 

올바른 것입니다. Mike가 읽고 있다면 Facebooker에 추가하는 것이 좋습니다.