firebase - 使用电子邮件和密码创建用户返回undefined uid

问题描述 投票:0回答:1

我目前正在使用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作为我的二级参考,以避免在定期登录时被踢出火场。

javascript firebase firebase-authentication
1个回答
1
投票

那么,你从那个createUserWithEmailAndPassword电话中得到了什么样的对象?它告诉你,你得到一个UserCredential - 它没有uid属性。 (但它有一个user属性,有你的uid字段)。

简短回答:

otherApp.auth().createUserWithEmailAndPassword(username, password).then(function (userCreds) {
    var uid = userCreds.user.uid;
    // etc
© www.soinside.com 2019 - 2024. All rights reserved.