【发布时间】:2018-05-11 02:54:49
【问题描述】:
我对 Firebase 还很陌生,所以如果这是一个愚蠢的问题,我很抱歉。
所以我正在创建一个注册/登录页面。在注册页面上,一切正常,每个创建的用户都被分配了一个 displayName 值,该值来自表单中的输入。
function signUp() {
// Get DOM elements
var displayName = document.getElementById("first_name");
var emailInput = document.getElementById("email");
var passInput = document.getElementById("password");
var submitBtn = document.getElementById("submitBtn");
// Add login event
submitBtn.addEventListener("click", e => {
//Get email and password
const email = emailInput.value;
const pass = passInput.value;
const auth = firebase.auth();
// Sign up
const promise = auth.createUserWithEmailAndPassword(email, pass);
promise.catch(e => console.log(e.message));
var user = firebase.auth().currentUser;
if (user) {
console.log(user);
var user = auth.currentUser;
user.updateProfile({
displayName: displayName.value
});
}
});
}
但是..
当用户登录到新页面时,只有电子邮件被传输过来,displayName 设置为 null。我认为这是我登录脚本中“onAuthStateChanged”代码的问题。
function displayUserInfo() {
firebase.auth().onAuthStateChanged(firbaseUser => {
if (firbaseUser) {
console.log(firbaseUser);
}
else {
console.log("not logged in");
}
});
}
希望得到一些帮助:)
【问题讨论】:
标签: javascript firebase firebase-authentication