2011-09-13 12 views
2

私はFacebookのキャンバスアプリを構築しています。ユーザーが既にアプリを認証しているかどうかを確認するためにfacebookが提供する署名付きリクエストパラメータを使用しています。 (user_idフィールドの存在をチェックすることによって)。 user_idが設定されていない場合は、ユーザを(javascriptのtop.locationを使用して)アクセスページにリダイレクトします。facebookキャンバスアプリiframeリダイレクトと署名付きのリクエスト

問題は、私のアプリケーションで内部リダイレクトを行う必要があるため、もう署名付きリクエストを取得できないということです。

可能な解決策: 1)。ユーザーがアプリをインストールしたかどうかを確認する方法を変更します。現在のユーザーを取得します(とにかく署名されたリクエストが必要かどうかわかりません)。次に、グラフapiを使用して権限をチェックします)。

2)。常にクライアント側のリダイレクトを使用します。 (その後、私はいつも署名付きリクエストを得ることができ、トップURLが変更されるため、ユーザーにはより良いナビゲーションが提供されます)。iframeリダイレクトと比較したパフォーマンスについては不明です。

あなたのopintionには何が最適ですか?

PS:私はPHP SDK/symfonyフレームワークとjavascript sdkを使用しています。

答えて

0

これを処理する最も一般的な方法は、signed_requestまたは必要なデータのサブセットを転送するようにCookieを設定することです。このため、すべてのページで利用できます。これを直接行うことも、PHPセッションを使用してデータを格納することもできます。

しかし、私は個人的には、クッキーはiframeアプリケーション内の悪い考えであるとの意見です。あなたが必要とする可能性がある別の方法については、http://www.braintilt.com/fbcookies.phpをご覧ください。

+0

ありがとうございました。私は署名されたリクエストを保存するためにphp sessionを使用しました。 – brpaz

関連する問題