0

Facebook SDKを使用してユーザーを認証していますが、サードパーティのCookieの問題、つまりセッション状態がiFrameで機能しないため、Facebook経由でセッション変数を使用できません。

これを回避するために、POSTを使用してページ間をリダイレクトし、フォームを作成して、サーバーで認証に使用するaccessTokenを投稿します。

リダイレクトすると、ViewModelにaccessTokenがあり、これをjavascriptに書き出すことができます。つまり、viewSourceを実行するとaccessTokenが表示されます。これは間違ったやり方ですか?

FB.getLoginStatus / FB.Event.subscribe('auth.authResponseChange'、function(response)[現在は両方の組み合わせを使用しています]を介して新しいaccessTokenを取得し、それをビューに投稿する必要があります(サーバーを再認証します)側)?

4

1 に答える 1

0

プレーン テキストのアクセス トークンは、私にとって大きなリスクのように思えます。特に JS SDK を使用している場合は、誰かがあなたの JavaScript ソースから APPID を取得し、グラフ アクションの実行を開始するために必要なすべてのアクセス トークンを取得できるためです。

FB JS SDKを使用するたびにユーザーを再認証するだけで(最後に提案したように)、とにかく同じアクセストークンを取得できるので、渡す必要はないと確信しています。自分でテストしてみてください。同じアクセス トークンが表示されるはずです。

Facebook自体がこれをどのように処理しているかを確認したい場合があります. github 上のFacebook PHP SDKは、クライアント (JS SDK) とサーバー間の認証をサポートしています。彼らは Cookie と PHP セキュア セッションの組み合わせを使用してアクセス トークンを渡していると思いますが、ソース コードを詳しく調べて、彼らがどのようにそれを行っているかを正確に把握する必要があります。

于 2012-10-01T16:03:13.057 に答える