2015-11-11 23 views
0

我在我的Web應用程序中實現了FB登錄/註銷。我的每個網絡應用都有不同的用途,因此具有不同的域名。但他們共享相同的用戶數據庫。在Facebook控制檯中添加多個Web域

用戶的Facebook註冊來自一個Web應用程序。我將由客戶端登錄功能返回的訪問令牌傳遞給服務器。在服務器端,我使用Facebook電子郵件和ID(用API API /me檢索)分別作爲用戶的用戶名和密碼。

起初,我爲我的每個網站創建了一個獨特的Facebook App。在這種情況下,在我的其他網絡應用程序中,當使用Facebook登錄時,圖表API /me會爲同一用戶返回不同的ID,因此用戶無法登錄。

事實證明,Facebook登錄返回的response.authResponse.accessToken也不同。然後我嘗試在一個網站應用中添加Settings->Advanced->Valid OAuth redirect URIs下的所有域,但訪問令牌和ID對於每個域仍然不同。

我想知道這裏有什麼問題。爲什麼Facebook爲同一用戶返回不同的ID。爲什麼訪問令牌不同,即使網絡域都在一個應用程序(相同的應用程序ID和密碼)。謝謝。

+0

可以訪問所有應用程序的信息,包括其範圍用戶ID。它們是不同的用戶標識,因爲它們是應用程序範圍的用戶標識。如何在不同應用程序之間映射用戶,你可以在https://developers.facebook.com/docs/apps/for-business上閱讀有關內容 – WizKid

+0

@WizKid我明白了。非常感謝! –

回答

0

由於@WizKid建議here,您需要在不同應用之間映射用戶。通常您需要創建業務經理並將您的應用添加到該經理。然後,通過調用API /me/ids_for_business