2

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

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

这总是在我的控制台中返回 null。为什么会发生这种情况?有人能帮我吗?

4

1 回答 1

2

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

返回 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 关于身份验证的文档

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

于 2015-11-07T15:12:03.117 回答