鍍金池/ 問答/HTML/ Express, Passportjs, 如何實現(xiàn)只允許用戶在一處登陸?

Express, Passportjs, 如何實現(xiàn)只允許用戶在一處登陸?

Express, Passportjs, 如何實現(xiàn)只允許用戶在一處登陸?

// passport文檔中序列化反序列化的代碼
// passport會創(chuàng)建一個session表存儲用戶的session
// 我通過mongoose操作mongodb
// session表是由passport創(chuàng)建的,我并沒有session表的模型
// 我該如何優(yōu)雅的做到,只允許用戶在一處登陸

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的記錄,然后調(diào)用passport的done。實現(xiàn)只允許用戶在一處登陸

但是由于沒有session的模型,我如何才能更優(yōu)雅的處理?

回答
編輯回答
故林

只在一處應(yīng)該怎么理解?是鎖定ip還是鎖定瀏覽器coockie?
據(jù)我所知,oauth2.0已經(jīng)有這種的特性了

2017年1月15日 18:51
編輯回答