我想我不完全理解Facebook OAuth-API處理身份驗證的方式。據我瞭解,它的工作原理基本上是這樣的(客戶端是一款Android手機,我的服務器標準的LAMP-設置): fb auth http://i.imagebanana.com/img/hvlsb2dp/fbAuth.png通過客戶端SDK進行Facebook身份驗證 - 安全概念
現在的問題是,客戶端可以通過提交當然假的步數3錯誤的用戶ID到我的服務器 - 例如,如果我的服務器響應請求http://server.com/getConfidentialData.php?fbID=%FBID%,並且用戶設法獲取其他人的fb-userID,他可以將其放入請求中,並且他將獲得屬於某人的數據其他。
如果我使用PHP-SDK,它如何知道我的用戶是否在Android應用程序中登錄?
這是它應該工作的方式,還是我錯過了什麼?
謝謝, David。
感謝您分享您的方法,但我真的不能想象,Facebook的人沒想到的東西更全面的 - 我的意思是,這是最核心的auth-問題,所以他們應該應該以優雅和安全的方式做到這一點。另一方面,如果我看他們的一團糟... – David
@David我知道,這是一個3路驗證,所以Facebook服務器和客戶端需要彼此聯繫,但那種情況發生在任何一個三個情景Facebook顯示:https://developers.facebook.com/docs/concepts/login/login-architecture/我的意思是...要麼你不知道哪個客戶端通過Facebook在服務器端登錄名稱,或者你可以不要相信你的客戶說嘿!我已經通過Facebook用戶登錄,讓我進來!在cleint方面js sdk登錄...我的意思是,我的方法是唯一一個每一方都認證這件衣服......迄今爲止。我的路上有任何錯誤? – Daren
通過使用服務器端登錄,然後通過Open-Graph-API(/ me對象)檢索用戶ID,在沒有任何Client-FB-Contact之後,他一次點擊'fb中的redirect_uri後, '官方'應用登錄表單?如果Web-View無法訪問標準瀏覽器的cookie或者用戶沒有在瀏覽器中登錄(我猜,這是一種明顯的缺點,那就是他每次在移動設備上啓動應用程序時都必須這樣做)大多數使用fb-App的人都沒有) – David