3

私はFacebookの開発にかなり慣れていませんが、PHPとJavaScriptの経験があります。

私はSDKのドキュメントとFacebookの統合に関するさまざまな記事を読んでいますが、いくつかの基本的な質問がまだ頭の中に残っていることがわかりました。

私は次のことを達成しようとしています:

  • 登録とログインにのみFacebookを使用するWebサイトを作成します
  • PHPを使用して、登録ユーザーのFacebookユーザーIDを、それらのユーザー向けの限定されたアプリ固有の情報とともに、アプリサーバー上のデータベースに保存します。すべての「一般的な」情報(メールアドレスなど)は、Facebookから取得する必要があります。
  • ユーザーがログインすると、そのユーザーのデータベースレコードとFacebookのものの組み合わせを取得します。

私がこれまでに達成したこと:

  • 登録プラグインを使用して、未登録のユーザーには登録ボタンを表示し、ページにアクセスしたときにログアウトしたユーザーにはログインボタンを表示しました。ユーザーがすでにログインしている場合は、javascriptとjqueryを使用してログインボタンを非表示にします。
  • また、登録ユーザーを受け取り、signed_requestを解釈して、ユーザーのIDをデータベースのusersテーブルに追加するページもあります。

私の混乱が生じるところ:

  • ユーザー認証にJavascriptSDKを使用したい(それは本当に簡単なので)-これは明らかにクライアント側で非同期的に行われます。
  • そうは言っても、ユーザーがJS SDKを使用してログインしたら、データベースからデータを取得する必要があります。私はAJAXリクエストを介してこれを行うことができてうれしいですが、そのリクエストの一部としてFacebookユーザーIDを渡す必要があります。確かに、これは知識のあるユーザーによって簡単になりすまし/変更される可能性があり、したがって、他の誰かとして私のアプリケーションにログインする可能性がありますか?

質問: JS APIを使用してログインしたユーザーに関する情報をサーバーに安全に渡すにはどうすればよいですか?

答えが「できない」の場合、なぜJSAPIで認証する必要があるのでしょうか。それは本当に軽いタッチのアプリのためだけですか?

助けてくれてありがとう!

4

2 に答える 2

1

簡単な答えは、Cookieを使用することです。このFacebookブログ投稿には、クライアント側のログインを実装し、そのデータをサーバーに公開する方法の明確な例があります。

于 2012-05-17T15:28:56.570 に答える
0

署名されたリクエストを見てください:https ://developers.facebook.com/docs/authentication/signed_request/

署名されたリクエストがどのように機能し、どのように使用できるか/使用すべきかについてのちょっとした入門書を提供します。私があなたの質問を正しく理解していれば、これはあなたがセキュリティの追加の層を提供できる理由/方法に関するあなたの質問に答えるはずです。独自のapp_secretを持つアプリケーションのみがデコードできる署名付きリクエストを送信します。

于 2012-05-17T15:21:38.647 に答える