0)用戶被在火力地堡的身份驗證系統(I看到它在驗證標籤)創建的,
1)但是,沒有改變對數據庫進行。
2)頁面似乎被無限加載。
3)僅 「開始1 ...」 登錄到控制檯。
CODE:
router.post('/register', function(req, res, next) {
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;
var password2 = req.body.password2;
// Validation
req.checkBody('username', 'Username is required').notEmpty();
req.checkBody('email', 'Email is required').notEmpty();
req.checkBody('email', 'Email is not valid').isEmail();
req.checkBody('password', 'Password is required').notEmpty();
req.checkBody('password2', 'Passwords do not match').equals(req.body.password);
var errors = req.validationErrors();
if(errors){
res.render('users/register', {
errors: errors
});
} else {
console.log("Started 1...");
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error, userData) {
console.log("Started 2...");
if(error){
var errorCode = error.code;
var errorMessage = error.message;
req.flash('error_msg', 'Registration Failed. Make sure all fields are properly filled.' + error.message);
res.redirect('/users/register');
console.log("Error creating user: ", error);
} else {
console.log("Successfully created");
console.log("Successfully created user with uid:", userData.uid);
var user = {
uid: userData.uid,
email: email,
username: username
}
var userRef = firebase.database().ref('users/');
userRef.push().set(user);
req.flash('success_msg', 'You are now registered and can login');
res.redirect('/users/login');
}
});
}
});
編輯1:
這是什麼似乎是發生的事情:在身份驗證系統中創建
用戶。頁面加載大約5分鐘(非常長!),然後告訴我註冊失敗,因爲電子郵件地址已被使用(不是)。
這似乎是創建的用戶,而是因爲,如果它沒有被創建,創建後的用戶,因此創建類型的錯誤代碼循環回註冊失敗:這個電子郵件地址已經在我們的數據庫。
但爲什麼會發生這種情況?
謝謝!不知何故,我知道我的語法錯了。目前正在學習Node.js. – Coder1000