0

Facebookのクライアントフローを使用するとすぐにアクセストークンを取得し、サーバーフローを使用すると、アクセストークンと交換する必要がある認証コードを最初に取得するという事実以外に、2つのフローの違いは何ですか?それぞれをいつ使用する必要がありますか?

より具体的には、クライアント フローを使用しても、ユーザーをアプリケーション/サイトに安全にログインさせることはできますか?

一見したところ、クライアントで取得した access_token と id を取得して (client-flow 経由で)、それらをサーバーに送信し、その ID とトークンのグラフ API 呼び出しが中断されない場合は、このユーザーに対処し、彼の FB ID に基づいて彼を私のサイトにログインさせます。

サーバーフローに従わなければ、クライアントIDとaccess_tokenを安全に使用してユーザーをアプリケーション/サイトにログインさせる方法がないように思えます。

私がこれを言う理由は、別の (ハッカー) アプリの所有者がユーザーを私のアプリと「共有」しているためです。access_token と、彼が認証フローで (違法に) ユーザーのために取得した ID を取得し、このデータを使用して私のサイトへの呼び出しを偽装し、あたかも彼がこのユーザーであるかのようにログインさせる可能性があります。

ここで何か不足していますか?

これはhttps://developers.facebook.com/docs/authentication/の最初の段落に大きな赤い文字で書かれるべきではありませんか?

4

1 に答える 1

0

Oauth 2(http://oauth.net/2/)は、Facebookが使用するものです。ほとんどの場合、これは利用可能な最も安全なインターフェースです。ユーザーが1つのアプリのアクセストークンを取得して別のアプリで使用する方法がある場合は、oauth2にパッチを適用する必要があります(またはFacebookのoauth2にパッチを適用する必要があります)。

ハッキングする方法を見つけたと思われる場合は、http://www.facebook.com/whitehat/bountyから$500.00の賞金を獲得する必要があります

于 2012-03-01T20:08:37.233 に答える