在Facebook控制台中添加多个Web域

时间:2015-11-11 22:48:15

标签: facebook facebook-graph-api

我在我的网络应用中实施了FB登录/注销。我的每个网络应用程序都有不同的用途,因此具有不同的域。但它们共享相同的用户数据库。

用户的Facebook注册来自一个网络应用程序。我将客户端JS-SDK登录功能返回的访问令牌传递给服务器。在服务器端,我使用Facebook电子邮件和ID(使用图形API /me检索)分别作为用户的用户名和密码。

起初,我为每个网站创建了一个独特的Facebook 应用。在这种情况下,在我的其他网络应用程序中,当使用Facebook登录时,图形API /me会为同一用户返回不同的ID,因此用户无法登录。

事实证明,Facebook登录返回的response.authResponse.accessToken也不同。然后,我尝试将Settings->Advanced->Valid OAuth redirect URIs下的所有域添加到一个网站应用中,但每个域的访问令牌和ID仍然不同。

我想知道这里有什么问题。为什么Facebook为同一个用户返回不同的ID。即使Web域都在一个应用程序(相同的应用程序ID和密码)中,访问令牌也是不同的原因。感谢。

1 个答案:

答案 0 :(得分:0)

正如@WizKid建议的here,您需要在不同的应用之间映射用户。通常,您需要创建一个业务经理并将您的应用添加到该经理。然后,您可以通过调用API /me/ids_for_business

访问所有应用的信息,包括其范围内的用户ID