認証にパスポートを使用する。ユーザーがサインアップすると、自分のアカウントでサインインできることを知らせるメッセージが表示されます。今の時点で、サインアップすることも、私の通知をオフにスローされ、それらをログに記録します。Passportjsサインアップ後の自動ログインを防止する
- は
と
「あなたはすでにログインしている」「あなたは今すぐサインアップして」- "歓迎新しいユーザー"
どのように私はこれを防ぐことができますか?私はreq.logout()
を試して、verifySignup()
の最後に到達し、サイコロはありませんでした。
マイルータ:あなたは自動ログインを防ぐことができます
router.route('/login')
.get(function(req, res){
// If the user is already logged in, redirect them to the dashboard
if(req.isAuthenticated()) {
req.flash('alert', 'You are already logged in');
res.redirect('/');
} else {
// Otherwise, allow them to login
// Redirect them to the login pages
res.render('login',
{ host: req.baseUrl,
error: req.flash('error'),
success: req.flash('success'),
alert: req.flash('alert')
});
}
}).post(passport.authenticate('local-login', {
successRedirect: '/',
failureRedirect: '/login',
badRequestMessage: "You need to enter your username and password",
failureFlash: true // allow flash
})
);
router.route('/signup')
.get(function(req, res){
// If the user is already logged in, redirect them to the dashboard
if(req.isAuthenticated()) {
req.flash('alert', 'You must first log out before signing up for a new account');
res.redirect('/');
} else {
// Otherwise, allow them to signup
// Redirect them to the signup pages
res.render('signup',
{ host: req.baseUrl,
error: req.flash('error'),
success: req.flash('success'),
alert: req.flash('alert')
});
}
}).post(passport.authenticate('local-signup', {
successRedirect: '/login',
failureRedirect: '/signup',
badRequestMessage: "You must fill in all of the form fields.",
failureFlash: true // allow flash
})
);