我需要对 facebook、twitter 和 google 使用用户身份验证。我最初创建了一个 firebase 帐户并使用了以下代码。
var ref = new Firebase("https://keks.firebaseio.com");
ref.getAuth();
console.log(ref.getAuth());
这总是在我的控制台中返回 null。为什么会发生这种情况?有人能帮我吗?
我需要对 facebook、twitter 和 google 使用用户身份验证。我最初创建了一个 firebase 帐户并使用了以下代码。
var ref = new Firebase("https://keks.firebaseio.com");
ref.getAuth();
console.log(ref.getAuth());
这总是在我的控制台中返回 null。为什么会发生这种情况?有人能帮我吗?
调用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 文档,因此我强烈建议您花一些时间在那里。