1

offline_access パーミッションを持つアプリケーションがあり、php SDK を介してアクセス トークンを取得し、データベースにアクセス トークンを保存します。

このアプリケーションは、Facebook と対話する Web サイトを介して動作しますが、ユーザーがサイトを使用している間、Facebook にログインする必要はありません。つまり、ログインしてサイトを使用するために、Facebook にログインする必要はありません。これが、offline_access パーミッションを使用する理由です。

さて、問題は、javascript でアクセス トークンを使用するにはどうすればよいかということです。

php エコーを介して Web ページにアクセス トークンを挿入するという明白な解決策は、現在 https 経由でページを提供しておらず、トークンがプレーン テキストで移動するため、安全ではありません。さらに、一部のユーザーが自分のコンピューターを無人のままにしておくと、攻撃者がそれを使用して、サイトのソースを調べるだけでトークンを取得する可能性があります。

このアクセス トークンを安全に使用する簡単な方法はありますか? または、何か不足していますか?

4

3 に答える 3

0

JavaScriptでアクセストークンを安全に使用する唯一の方法は、PHPスクリプトに対してAJAXリクエストを実行することです。そのトークンをブラウザランドに浮かせたいとは決して思わないでしょう。

于 2011-12-27T15:29:13.977 に答える
0

そのWebページからphpスクリプト(オフライントークンを使用します)に対してAJAX呼び出しを行うことができます。

于 2011-12-27T17:33:16.623 に答える
0

GET を使用してサーバーから Facebook API を呼び出したくないという問題がある場合は、POST を使用できます。つまり、サーバー上のページはFacebook APIを呼び出す必要があるため、たとえばユーザーページにコメントを書き込むには、次のようにする必要があります

https://graph.facebook.com/userID/feed?access_token=XXXXXXXXXXX 

しかし、このように access_token はブラウザの URL バーに表示されます。パラメータを非表示にするには、POST を使用する非表示のフォームを使用し、javascript で自動的に送信します

<form action="https://graph.facebook.com/userID/feed" name="formNAME" method="POST">               
 <input type="hidden" name="access_token" value="XXXX">     
 <input type="hidden" name="description" value="blablabla">   
</form>

<script type="text/javascript">     
 document.formNAME.submit();    
 return;   
</script>
于 2012-02-18T14:03:38.967 に答える