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