2012-03-14 16 views
0

http://example.com:4567にSinatra REST APIを持つアプリがあるとします。私のアプリでは、フロントエンドで作業するデザイナーがいます。リモートプロキシを使用してFacebookの認証を行う方法

127.0.0.1  local.example.com 

と彼のhttpd-vhosts.confを次のように:

はそう
ProxyPass /api http://example.com:4567 
ProxyPassReverse /api http://example.com:4567 

そのAPIコールはにプロキシされているローカルのバックエンドで彼をセットアップするのではなく、次のように私は彼のhostsファイルを編集しますリモートホスト。次に、フロントエンドリポジトリがあるローカルディレクトリにマップするApacheのlocal.example.comの仮想ホストを作成します。これにより私は彼にローカルのフロントエンドを持つリモートバックエンドを与えることができます。

サブドメインの理由は、認証用の制限的なドメインポリシーを持つFacebook認証を行うためです。我々は成功したFacebookの認証ユーザーとバックアプリにリダイレクトされ得ることができますが、アクセスを取得しようとすると、トークンメッセージと400応答を取得する場合:私はそれがに設定されていますようclient_idのが正しく設定されていると信じて

{"error"=>{"message"=>"Missing client_id parameter.", "type"=>"OAuthException", "code"=>101}} 

をラック:oauth:クライアントオブジェクトは正しくあり、フローは同一であり、ドメインが異なる場合にのみ失敗します。私が持っている唯一の考えは、facebookは、example.comからアクセストークンが要求されている間にlocal.example.comからのユーザー認証が気に入らないかもしれないが、私の理解はfacebookがすべてのサブドメインで認証されることです。私はまた、私のアプリケーションでlocal.example.comをホワイトリストに入れました。

これを達成するための洞察またはアドバイスはありますか?前もって感謝します。

答えて

0

ドメインの問題ではなく、novのオープンソースのfb apiであるfb_graphは、デフォルトで基本認証を使用するため、アクセスを取得するときにauthを ":basic"以外に設定する必要がありますこのエラーを解決するためのトークン。

関連する問題