2

Cordova 3.0.9 と Rails バックエンドを使用してモバイル アプリを開発しています。

現在、私は認証部分を実装しており、InAppBrowser プラグインを使用してクライアント側の Facebook 認証を実装し、ユーザーのアクセス トークンを取得することができました。

私の質問は、サーバー認証に Omniauth を使用していて、Omniauth がその魔法を働かせるために、signedRequest をパラメーターとしてコールバック エンドポイント (/auth/facebook/callback) にポスト リクエストを行う必要があるためです。

JS SDK を使用せずに Facebook から signedRequest トークンを取得するにはどうすればよいですか。 通常、これは FB.getLoginStatus リクエストで実現できますが、モバイル環境でこれを機能させることはできません。

前もって感謝します。

4

1 に答える 1

1

やりたかったことを実現することができました。

最初のリクエストがに送信された後、

/auth/facebook

facebook からのアクセス トークンを使用して、彼は電話をかけます。

/auth/facebook/callback

omn​​iauth からの signedRequest トークンで認証を完了します。

Rails バックエンドのセッション コントローラーにアクセスしたら、最初のリクエストに送信された初期パラメーターと共に、トークンを見つけるためにリクエスト オブジェクトを調べることができます。

この方法で見つけることができました

"omniauth.params"=>{"format"=>"json", "provider"=>"facebook", "code"=>"..."} 

リクエストがアプリから送信されたときに、それに応じてjsonで応答します。

于 2014-01-06T15:32:52.967 に答える