0

次のユースケースがあります

  1. iOS上の私のアプリケーションは、FaceBookiOSSDKを使用してFBで認証しています
  2. 次に、アプリケーションはhttpsを介してサーバーにREST呼び出しを行い、FBアカウントをサービスアカウント(私が提供しているサービス)に登録します。

ステップ2で、クライアントはFaceBookUIDを送信しています。

私の問題は、サーバーにFBが統合されていないため、正しいFaceBookUIDを送信しているクライアントに応答する必要があることです。

したがって、問題は明らかです。ハッカーは他の誰かのFaceBookアカウントを自分のサービスアカウントに添付することができます。

サーバー(Java)が、リクエストを送信しているユーザーが問題のFacebookUIDを所有していることを検証できるようにしたいと思います。

私はオンラインで検索してきましたが、うまくいくと思うものは何も見つかりません。

signedRequestFBフィールドの使用に関する漠然とした投稿に出くわしました。これをサーバーに渡して、ユーザーを検証することができます。

任意のアイデアをいただければ幸いです。

4

1 に答える 1

0

ここに考えがあります:

iOSアプリでユーザーを認証したら、を取得しaccess_token、これのみをサーバーへのREST呼び出しで渡します。

サーバー側で、送信したをhttps://graph.facebook.com/me?access_token=...使用するようにリクエストしaccess_tokenます。アクセストークンが有効な場合は、有効な認証済みユーザーがいることを証明するすべてのユーザーのデータを取得します。

さらに確実にしたい場合はhttp://graph.facebook.com/app?access_token=...、アクセストークンがアプリによって作成されたことを確認するようにリクエストすることもできます。

于 2013-01-17T20:44:28.373 に答える