2016-12-01 138 views
0

我正在嘗試創建一個使用JavaScript的Facebook登錄,用於將從服務器返回一些數據的Chrome擴展。Javascript Facebook登錄 - 什麼是最安全的登錄方式?

我目前能夠登錄谷歌和臉書沒有問題。 Google正在返回僅適用於我的應用的電子郵件地址和唯一ID,以便我可以使用該ID與提供的電子郵件地址一起登錄到我的服務器。

Facebook會返回真實的用戶ID和電子郵件地址,這意味着任何有權訪問Facebook的人都可以找到該ID並知道他們將能夠登錄的電子郵件地址。

因爲我不想要求用戶每次登錄,他們重新啓動瀏覽器或每隔幾天時間,什麼是獲得來自Facebook的唯一不變的安全ID是唯一我的應用程序的最佳方式?

當然,如果我在擴展中使它具有唯一性,它不會真的有益,因爲任何人都可以閱讀擴展代碼,然後弄清楚如何從他們的用戶ID獲取其他人的唯一ID。

Facebook發送的授權碼不是恆定的,所以我無法將其發送到服務器來驗證某人。

+1

將令牌發送到服務器,然後進行API調用以驗證它是否爲真。你不想只傳遞用戶ID - 因爲任何人都可以將它發送到你的應用程序。 (並找到一個用戶ID「適用於你的應用程序」只是一個猜測問題。) – CBroe

回答

1

「Facebook返回真實用戶ID」 - 錯誤,api只返回應用範圍ID。除了用戶自己將無法登錄。只需使用應用範圍ID,即如何識別應用中的用戶。順便說一下,用戶ID並不是真正需要保密的東西。訪問令牌是。

+0

我發誓我讀了它是返回真實的ID ...然後我很好:-)(是的,auth代碼是祕密的,以及用戶ID和電子郵件......)謝謝你 – Fabrizio