2011-07-21 11 views
13

Facebook Connect経由でユーザーを認証するWebサイトを構築していますが、PHP SDK/Server-Side FlowまたはJS SDK/Clientサイドフロー。ここでfacebookにfacebook接続用のJavascript SDKまたはPHP SDKを使用する必要があります

は、いくつかの考慮事項以下のとおりです。

  1. 私は、ユーザーがに公開する機能を提供したい私のサーバー
  2. 上のデータベースに私のアプリを許可するすべてのユーザ(ユーザIDの、電子メールアドレス)を記録したいですJS SDKのFB.ui()で生成された魅力的なダイアログを使用して壁を埋めます
  3. 外部イベントに応答して私のサーバーを介してユーザーの壁にストーリーを公開したい
  4. 私は、ウェブサイトの特定の機能を無効にするかどうかに基づいてユーザーは現在Facebookにログインしていません

私は思うことがいくつかあります。しかし、これらの要件に基づいて私は両方のSDKを使用する必要があると推測しています。しかし、私のデータベースに最初のアプリケーションの承認/新しいユーザーの記録には、どのSDKを依存させる必要がありますか?

これは、両方のシナリオで働くかもしれない方法の私の考え:

JS SDK:

ユーザーがログインボタンを選択し、コールバックメソッドは、サーバーにAJAX要求を発射し、ポストを経由して認証されたユーザのFBID沿って通過します。サーバー上のコードは、これが新しいユーザーかどうかを判断し、既存のレコードが見つからない場合はデータベースに記録し、サーバー側のAPI要求を許可するためにaccess_tokenを記録します。

PHP SDK:

ユーザーは、Facebookはそのユーザーの既存のレコードが見つからない場合は、新しいレコードを記録し、バック私のアプリにユーザーをリダイレクトした後に実行されるFacebookのAUTHORIZEページとスクリプトにリダイレクトされます。しかし、JS SDKはサーバー側のフローを使用して認証した場合、API呼び出しを実行できますか?

+0

+1それはあなたがクライアント側の認証を実行し、サーバー側のAPI要求を行う文書から明らかではありません。ありがとう。 – greenimpala

答えて

3

あなたはすでに言語間の違いを強く分析しています。それを超えて本当に好みとその真は両方を使うことからあなたを抱くことはありません。

それは、私の意見では、最高ではJavaScriptを使用しますけれども、あなたの質問に答えるために:私はjavascriptをもっと好きなので

  1. を。
  2. ユーザーは、Facebookにログインしてサーバーと通信している間に、サイトとやり取りすることができます。

1つだけを使用したい場合は、3番の番号にPHP SDKが必要です。それを超えて、それは本当に個人的な好みです。

+0

はい...しかし、私が思うに、PHPのSDKを使用してセッションを作成したいのですが...この場合は避けられません。 –

8

PHP SDKの最新(3.11)ビルドには、PHP SDKとJavascript SDKを一緒に使用する方法の例が含まれています。要約すると、彼らはクッキーを介して通信します。

この回答は多分あなたにとって少し遅れていますが、他の誰かが探している場合に私が言及すると思いました。

https://github.com/facebook/php-sdk

+1

JSまたはPHP SDKを使用するべきかどうかを決定する必要はなく、両方を取得するためにPHP SDKを選択するだけで済みます。 – simPod

関連する問題