我和我的團隊正在開發面向Android的原生移動社交網絡,允許用戶使用Facebook登錄。我設法實現了面向Android的Facebook SDK,但即時通訊正在努力弄清楚如何正確/安全地認證使用Facebook登錄的用戶以及僅從Facebook接收到的憑證。目前這裏是我的系統:在我自己的REST API上驗證從facebook接收的憑證
第1步。從Android客戶端用戶按Facebook登錄並授予我的應用程序的權限。
第2步:一旦用戶授予權限,我們實向我們發送包含該用戶FB用戶名,電子郵件和令牌的響應(以及其他的信息,如果這是第一次在使用Facebook的用戶已經登錄)
第3步:信息發送到我們的API認證
而這正是我是一個有點不清楚....我如何可以驗證我的服務器上facebook的憑據?
截至目前我只是檢查我用的fb_uid和fb_email接到現有的用戶數據庫,但任何人都可以得到任何人的fb_uid,它不是更難找到他們用來註冊Facebook的電子郵件,這意味着有人假設可以輕易地用僞造的http請求侵入另一個用戶帳戶。
你是老闆蘋果醬我的朋友。謝謝你,先生! – ChuckKelly
@彼得 - 你有沒有在生產中使用過這種方法?在性能方面如何?我想這對於每個API請求都會花費很高的代價。 – jramoyo
@ jramoyo:我上面描述的只是在你錯誤時嘗試使用你沒有的權限。所以,是的,我已經在「生產」中使用過它,但只用於錯誤處理,如果訪問令牌沒有做我們想做的事情。所有(任何?)API請求肯定不需要(儘管訪問令牌是用於非公開信息的)。 –