Express, Passportjs, 如何实现只允许用户在一处登陆?
// passport文档中序列化反序列化的代码
// passport会创建一个session表存储用户的session
// 我通过mongoose操作mongodb
// session表是由passport创建的,我并没有session表的模型
// 我该如何优雅的做到,只允许用户在一处登陆
passport.serializeUser((user, done) => {
const sessionUser = { _id: user._id, username: user.username }
done(null, sessionUser)
})
passport.deserializeUser((id, done) => {
User.findById(id, (err, user) => {
done(null, user)
})
})
我目前的思路是,在登陆的时候判断,用户的id,如果用户的id在session中存在,先在session表中删除session的记录,然后调用passport的done。实现只允许用户在一处登陆
但是由于没有session的模型,我如何才能更优雅的处理?
茅侃侃
杨__羊羊
相关分类