如何访问来自facebook身份验证的结果的用户部分?

时间:2017-04-17 12:15:51

标签: javascript facebook firebase-authentication

我正在使用firebase,弹出Facebook身份验证。

代码与Firebase文档非常相似,但我无法获得Facebook用户,尽管我可以获得令牌。

我的代码:

$(document).ready(function(){

var provider = new firebase.auth.FacebookAuthProvider();

firebase.auth().signInWithPopup(provider).then(function(result) {
  // This gives you a Facebook Access Token. You can use it to access the Facebook API.
  var token = result.credential.accessToken;
  // The signed-in user info.
  var user = result.user;
  $("#DEBUGMSG").append("Successful login using FB.");
  $("#DEBUGMSG").append("<br>user : " + user);
  $("#DEBUGMSG").append("<br>token : " + token);
  // ...
}).catch(function(error) {
  $("#DEBUGMSG").append("masuk dalam error catch");

  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // The email of the user's account used.
  var email = error.email;
  // The firebase.auth.AuthCredential type that was used.
  var credential = error.credential;

  $("#DEBUGMSG").append("<br>error code: " + error.code);
  $("#DEBUGMSG").append("<br>error message: " + error.message);
  $("#DEBUGMSG").append("<br>error email: " + error.email);
  $("#DEBUGMSG").append("<br>error credential: " + error.credential);


  // ...
});
})

这是我浏览器中的屏幕输出。如您所见,用户打印[object Object],但令牌打印正常。我错过了什么吗?

谢谢

Login with Facebook Trial

DEBUG MESSAGE: Successful login using FB.
user : [object Object]
token :     EAAatbKAtNvYBAG6Ts0IZAZCRTbQwRpZAeIU4gRed3ORhPhUKrmBvdc4l1fkfYx2TuFDH75BpxA4BIchCiA2uq6OjaZCO1UM1xSOwsKgGDsbjzTF6ZCgq2r5BVwYoSdvDJoJ8D7cx6EvxA3zsimKMlc4IYBzJLBHZBXtbzZAEX8oOgZDZD

1 个答案:

答案 0 :(得分:0)

[object Object]是一个复杂的对象,因此当您将其添加到HTML时,您的浏览器会显示$("#DEBUGMSG").append("<br>user : " + user.displayName);

但您可以访问this plunkr对象的属性:

{{1}}