在我的应用程序中,我有管理员控制面板,并检查用户是否已登录,如下所示。
app.get('/acp', function (req, res) {
var user = firebase.auth().currentUser;
if (user) {
// Logged in
res.send('Hello world');
} else {
// Not logged in
res.redirect('/admin');
}
});
当用户未登录时,他将被重定向到管理员登录页面,正常工作!
问题是如何在用户登录时重定向到管理控制台。
app.get('/admin', function (req, res) {
res.sendFile(__dirname + '/public/admin.html');
});
app.post('/admin', function (req, res) {
const email = req.body.email;
const password = req.body.password;
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
});
res.redirect('/acp'); // the problem
});
我试图在谷歌搜索回调,但没有结果。
答案 0 :(得分:2)
signInWithEmailAndPassword
返回一个承诺:
app.post('/admin', function (req, res, next) {
const email = req.body.email;
const password = req.body.password;
firebase.auth()
.signInWithEmailAndPassword(email, password)
.then(function(user) { res.redirect('/acp'); })
.catch(next);
});