2012-12-07 35 views
-1

該應用程序使用Ruby on Rails編寫,使用Koala創業板支持Facebook身份驗證。如何檢查您是否在GEM考拉登錄Facebook

如何檢查給定的用戶。立即登錄到我們的應用程序。

我有一個代碼登錄

def index 
    @oauth = Koala::Facebook::OAuth.new (APP_ID, SECRET, URL_US) 
    @a = @oauth.url_for_oauth_code (:permissions => "email") 
    redirect_to @a 
end 

我想如果我的工作考拉已經登錄因此它調用redirect_to的client_app_path怎麼不redirect_to的@a

回答

0

您可以使用此:

def index 
    @oauth = Koala::Facebook::OAuth.new (APP_ID, SECRET, URL_US) 
    facebook_user_id = @oauth.get_user_from_cookies(cookies) 
    @a = @oauth.url_for_oauth_code (:permissions => "email") 
    if facebook_user_id.present? 
    redirect_to client_app_path 
    else 
    redirect_to @a 
    end 
end 

如果你沒有連接到Facebook,我不確定@oauth.get_user_from_cookies(cookies)的輸出,也許它是一個空字符串,而不是零。如果是這樣,請更改if語句以在連接與否時正確重定向。

這裏看到:https://github.com/arsduo/koala/wiki/OAuth的Cookie解析

相關問題