2011-01-26 8 views
2

デスクトップアプリケーションでユーザー認証とアプリ認証を実行するには、http://developers.facebook.com/docs/authentication/ページのドキュメントに従います。Facebookのクライアント側のフロー認証は安全ですか?

これは私が私のアプリで何をすべきかです:

  1. to`httpsをナビゲートする組み込みWebブラウザとの対話を作成します:// www.facebook.com/dialog/oauth?client_id= <は> &をmy_app_idスコープ= offline_access & redirect_uri = http://www.facebook.com/connect/login_success.html & response_type = token URL。

  2. すべてがうまくいくと(ユーザーがログインして自分のアプリケーションを認証する)、リダイレクトされたURLからアクセストークンを抽出し、取得した値が長寿命のトークンであると仮定して格納します(offline_access権限に気づきます)。

QUESTION 1:これは、すべてが私のアプリIDとアクセストークンを見つけ出し、誰もがこの情報を悪用することができることを意味していますか?

私のアプリが.NETベース(Reflectorの誰ですか?)であることを考慮すると、app-idを取得するのは簡単です。私がそれを暗号化してもトークンにアクセスすることは不可能ではありません。

質問2:このプロセス全体をどのようにして安全にするには?

答えて

0

はい、これはセキュリティの問題である可能性があります。あなたのアプリケーションではなく、Facebook自体で。キーを暗号化する場合でも、アプリケーションがキーを復号化するメソッドが必要です(たとえば、キーをアプリケーションのどこかに格納する必要があります)。別の問題は、暗号化が完璧で解読不可能であると仮定すると、誰かがまだ可能性があります。
a)転送中にRAMからアクセストークンを抽出します。
b)おそらくSSLインターセプタプログラムを使用して偽造証明書を作成し、しかしながら;誰かが実際にそれをしている可能性は何ですか?彼らはなぜそれをしたいのですか?

+0

>ただし、誰かが実際にそれをしている可能性は何ですか?彼らはなぜそれをしたいのですか? あなたが私のアプリケーションのユーザーであり、たくさんの情報にアクセスすることを許可した場合、盗まれたapp-idとアクセストークンを使用して誰かがあなたのFB情報にアクセスし、それ。 – gplusplus

+0

彼らはそれを行うことができませんでした。また、すべてのユーザーに個別のキーが必要です。 – IDWMaster