我目前正在使用firebase中的一个功能,该功能可以创建用户而无需登录,请按照此网站上的教程进行操作。 (由于时间紧迫,我决定不采用firebase-admin的方式添加用户)。我当前的问题是当我执行CreateUserWithEmailAndPassword
方法时,它不能保证并且根本不提供uid。用户也完全没有注册。这是我用于此的代码:
var otherApp = firebase.initializeApp({
apiKey: "AIzaSyDXS11uOZGDmHYuN3J8BJxOG_9vanNakqA",
authDomain: "pasigueno-assist-1532249634197.firebaseapp.com",
databaseURL: "https://pasigueno-assist-1532249634197.firebaseio.com",
projectId: "pasigueno-assist-1532249634197",
storageBucket: "pasigueno-assist-1532249634197.appspot.com",
messagingSenderId: "394982410129"
}, "other");
otherApp.auth().createUserWithEmailAndPassword(username, password).then(function (user) {
var uid = user.uid;
var fullnames = fullname.value;
var barangays = barangay.value;
var status = "Active";
var addresss = address.value;
var userTypes = userType.value;
var rootRef = firebase.database().ref();
var storesRef = rootRef.child('users');
var newStoreRef = storesRef.push();
newStoreRef.set({
Address: addresss,
Name: fullnames,
Barangay: barangays,
Username: username,
UserType: userTypes,
UserID: uid,
Status: status
});
otherApp.auth().signOut();
console.log("ok");
}, function (error) {
console.log(error);
otherApp.auth().signOut();
});
var otherApp
用作我的辅助参考,以避免在定期登录时被踢出火力地堡。
答案 0 :(得分:1)
那么,您从createUserWithEmailAndPassword调用中得到什么样的对象?它告诉您,您得到一个UserCredential-没有uid属性。 (但是,它有一个user属性,其中包含您的uid字段)。
简短回答:
otherApp.auth().createUserWithEmailAndPassword(username, password).then(function (userCreds) {
var uid = userCreds.user.uid;
// etc