所以我知道用户不太可能这样做,但是....
如果用户访问web应用程序,他们可以在两个组中登录,这两个组都使用passport.js登录。A组使用local和LinkedIn, B组使用Google和Facebook。
登录和注销时可以使用以下get:
router.get('/logout', function (req, res){
req.flash('success_msg', 'you have logged out');
req.session.destroy(function (err) {
res.redirect('/');
});
});
但是如果我尝试在不同的Oauth下重新登录(比如做linkedIn和注销,然后做google和注销,然后尝试facebook),应用程序将在passport.deserializeUser
方法被调用之前或之后冻结。这是意料之中的吗?
所以经过一些批判性思考后,我意识到没有错误被调用的原因是因为没有错误,事情只是进展缓慢。
所以任何人在那里使用我的sql在你的节点应用程序确保,你池你的连接和确保,你释放它当你完成。
这里有一个很好的小教程