2

Facebook OAuth-API が認証を処理する方法を完全には理解していないと思います。私が理解している限り、基本的には次のように機能します (クライアントは Android フォン、私のサーバーは標準の LAMP セットアップ): fb auth http://i.imagebanana.com/img/hvlsb2dp/fbAuth.png

ここでの問題は、クライアントが間違ったユーザー ID をサーバーに送信することで、ステップ 3 を偽造できることです。たとえば、サーバーがリクエストhttp://server.com/getConfidentialData.php?fbID=%FBID%に応答した場合ユーザーが他の誰かの fb-userID を取得できた場合、それをリクエストに入れるだけで、他の誰かに属するデータを取得できます。

PHP-SDK を使用している場合、ユーザーが Android アプリにログインしているかどうかをどのように知ることができますか?

それが機能するはずの方法ですか、それとも何か不足していますか?

ありがとう、デビッド。

4

2 に答える 2

1

唯一の真の解決策:

プライベートなユーザー データを持つサーバーがあり、すべてが Facebook にあるわけではない場合、フローを理解すれば実装するのは難しくないサーバー側のログインを行う必要があります。

Facebook の図を確認し、この例で提供されているガイドラインに従ってください。

https://developers.facebook.com/docs/howtos/login/server-side-login/

于 2013-01-24T09:58:41.633 に答える
0

私はまったく同じ問題を抱えています...そして同じ感覚ですが、あなたは答えを持っていないので、私が見つけたものについて説明します.

次のソリューションを設計しました。

私は自分のサーバーに fb ユーザー ID、彼の電子メール (私のサーバーで彼を識別するため)、およびアクセス トークン (特別なログイン コールであるかのように https を介してすべて) を送信します。

サーバーからアクセストークンを試してみて、これが機能する場合(*)、サーバーにもユーザーをログ&更新/登録します。

(*) 最初に、ユーザーの電子メールにアクセスできるかのように動作するように定義しましたが、その後、その権限を持つ他のアプリがユーザーになりすます可能性があるため、トークンがアプリから取得された場合にのみ機能するトークンの寿命を延ばします。

これがお役に立てば幸いです。一方、誰かがこの問題の実際の解決策を見つけて、他の人がこれを回避する方法を説明していただければ幸いです.

乾杯!

于 2012-12-19T15:27:25.790 に答える