申し訳ありませんが、私は自分の質問に答えています。
Facebook SDKを使用すると、SSOはデバイス上ではうまく動作しますが、受け取るトークンはRailsアプリケーションで受け取るトークンと同じではありません。明らかに、Facebookはサポートによって異なるトークンを作成します。私がしたので、何
されました:私は、Androidデバイス上のトークンを受け取ったら、私はアプリのURLを経由して、私のレールに送信:
http://myapp/check_mobile_login?token=FB_MOBILE_TOKEN
これは、その後、使用しています私のアプリケーションのコントローラによって捕捉されますfb_graph宝石を使ってユーザーデータを取得するトークン。トークンが有効な場合、私はいくつかの情報を受け取るつもりです。次に私のデータベースで確認し、同じUIDを見つけたらユーザーが認証され、DeviseからAuthentificable_tokenを送り返します。
、ドラフトコード:
def check_mobile_login
token = params[:token]
user = FbGraph::User.me(token)
user = user.fetch
logged = User.find_by_uid(user.identifier)
respond_to do |format|
format.html # index.html.erb
format.json { render :json => logged.authentication_token }
end
end
誰もがよりよい解決策を持っている場合、私はFacebookのSDKは私のAndroidアプリに設定したが、それはそうしてい
:)ことを聞いて喜んでいるだろうトークンは、私が自分のユーザーを認証するためにそれらを比較することはできませんので、私は私のレールアプリのデータベースにあるものと同じではありませんか? – rnaud