2011-01-26 120 views
2

要在我的桌面應用程序中執行用戶身份驗證和應用程序授權,請按照http://developers.facebook.com/docs/authentication/頁面上的說明進行操作。Facebook客戶端流身份驗證是否安全?

這是我在我的應用程序做:

  1. 創建帶有嵌入式Web瀏覽器導航to`https一個對話框:// www.facebook.com/dialog/oauth?client_id= <my_app_id> & scope = offline_access & redirect_uri = http://www.facebook.com/connect/login_success.html & response_type =令牌URL。

  2. 如果一切順利(用戶登錄並授權我的應用),我從重定向的URL中提取訪問令牌並存儲它,假設獲取的值是長壽命令牌(注意offline_access權限)。

問題1:這是否意味着任何人發現我的應用程序ID和訪問令牌可能會濫用這些信息?

我的意思是,考慮到我的應用程序是基於.NET的(反射者?),所以獲取應用程序ID很簡單。即使我加密它或獲得令牌也不是不可能的。

問題2:如何使整個過程足夠安全?

回答

0

是的,我會想象這可能是一個安全問題;不是與你的應用程序,而是與Facebook本身。即使你要加密你的密鑰,也需要有一種方法來讓應用程序解密密鑰(例如,密鑰必須存儲在應用程序的某個地方)。另一個問題是,假設加密是完美且牢不可破的,有人仍然可以:
a)在傳輸過程中從RAM中提取訪問令牌
b)可能使用SSL攔截器程序創建虛假證書並解密訪問令牌。然而;有人真的這樣做的可能性是什麼?他們爲什麼想要這樣做?

+0

>然而;有人真的這樣做的可能性是什麼?他們爲什麼想要這樣做? 讓我這樣說,如果你是我的應用程序的用戶並授權它訪問大量信息,如果某人僅僅使用被盜的應用程序ID和訪問令牌訪問所有FB信息並銷售,你會如何?它。 – gplusplus 2011-01-26 02:28:31