【发布时间】:2014-08-06 20:26:53
【问题描述】:
我已将 Facebook 身份验证与 Firebase 集成到我的网站中。我正在使用 Firebase JavaScript API。
我使用的代码直接取自 Firebase 教程,标题为“用户登录和身份验证”,可在此处获取:https://www.firebase.com/docs/web/guide/user-auth.html
var myRef = new Firebase("https://#######.firebaseio.com");
var auth = new FirebaseSimpleLogin(myRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log("User ID: " + user.id + ", Provider: " + user.provider);
} else {
// user is logged out
}
});
auth.login("facebook");
这一切都很好,记录了正确的信息。
但是,记录的 ID(即在 Firebase 仪表板的数据中可见的用户 ID)与我通过 Facebook Graph 获得的 Facebook ID 不同。
使用 Firebase,我得到一个 17 位的用户 ID。 使用 Facebook Graph (https://developers.facebook.com/tools/explorer?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.0),我得到一个 9 位数的用户 ID。
这意味着我无法使用 Firebase 登录、获取 Facebook id 并通过 Facebook Graph 发出请求 - 同一用户的用户 id 不同。
为什么会存在这种差异?如何使用 Firebase 获取 Facebook Graph 中显示的相同 Facebook id?
【问题讨论】:
标签: javascript facebook-graph-api firebase