getAuth()返回null

时间:2015-11-07 11:56:03

标签: firebase-authentication

我需要使用facebook,twitter和google的用户身份验证。我最初创建了一个firebase帐户并使用了以下代码。

var ref = new Firebase("https://keks.firebaseio.com");
    ref.getAuth();
    console.log(ref.getAuth());

这总是在我的控制台中返回null。为什么会这样?有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

调用getAuth()不会对用户进行身份验证,它只返回当前的身份验证状态。 API documentation说:

  

返回Firebase客户端的当前身份验证状态。如果客户端未经身份验证,则此方法将返回null

由于您收到null,这表示您的用户尚未通过身份验证。您可以通过致电authWithOAuthPopup()

来验证用户身份
function authHandler(error, authData) {
  if (error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Authenticated successfully with payload:", authData);
  }
}
ref.authWithOAuthPopup("<provider>", authHandler);

最后一个片段来自Firebase documentation on authentication

由于我的答案的两个部分都来自Firebase文档,我强烈建议您在那里花一些时间。