0
私のアプリでは、管理者用のコントロールパネルがあり、ユーザがログインしているかどうかをチェックしています。express.jsでログインしたときのFirebase認証のリダイレクト
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
});
私はGoogleで、コールバック、ない結果を検索してみました。
あなたは私の命を救ったの。 – enucar
心配はいりません。また、Firebase APIのauthメソッドの使用はちょっと不思議です。ログインした管理者は1人しかいないようですが、ログインしている管理者がいる場合は誰でも管理ルートにアクセスできるようです。あなたがその配慮をしていないなら、今考えてみるのはいい時期かもしれません。 – cartant
あなたはそうです。私はちょうど私の電話をチェックし、管理者用コントロールパネルにアクセスできます。これを行う最善の方法は何ですか?上記のあなたの投稿を編集して私にリンクを張ったり説明したりできますか?ちょっとだけ。 – enucar