我试图在 Firebase 中创建一个用户,然后在 Web 服务器上的数据库中创建一个用户配置文件。我已经实现了以下代码,可以很好地创建用户。但是我不确定如何接收用户 ID(我需要一个唯一 ID)来创建数据库结构。有没有办法在调用 createUserWithEmailAndPassword 时返回用户对象?
我试图实现一个 firebase.auth().onAuthStateChanged
函数,但随后收到超时错误
如果你还没有收集到这是一个网络应用程序。
<script>
function createUser() {
var Result = "true";
var textUser = document.getElementById('userName').value;
var textPassword = document.getElementById('userPassword').value;
var textAccountID = document.getElementById('accountRef').value;
var textDateCreated = document.getElementById('dateCreated').value;
var textDisplayName = document.getElementById('displayName').value;
var UID;
firebase.auth().createUserWithEmailAndPassword(textUser, textPassword).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
return Result = "false";
// ...
});
writeUserData(UID, textDisplayName, textAccountID, textDateCreated);
return Result;
}
function writeUserData(userId, displayName, accountID, dateCreated) {
firebase.database().ref('User/' + userId).set({
userId:{
AccountID: accountID,
Created: dateCreated,
Name: displayName}
});
}
</script>
原文由 PowerMan2015 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了在客户端获取用户 ID,您应该这样做:
正如这里所描述的:
https://firebase.google.com/docs/reference/js/firebase.auth.Auth#createUserWithEmailAndPassword
返回包含非空 firebase.User 的非空 firebase.Promise