계정을 삭제할 때, 세션관리 방법

현재 Node.js 기반의 express 와 Sequelize를 사용중입니다.

현재 처리하고 싶은 것은 회원 탈퇴시, 다른 곳에서 해당 계정으로 로그인 되어 있는 디바이스에서 API 요청하는 것을 막으려고 합니다.
현재 session 테이블의 해당 계정과 동일한 계정으로 로그인 되어 있는 세션을 모두 지우고자 하는데, 현재는 미들웨어를 통해 해결하고 있습니다.
다른 방법이 어떤게 있을까요?
밑에는 해당 미들웨어 코드입니다.

app.use(function(req, res, next) {
  if(!req.session.isLogin)
    return next();

  const id = req.session.user.id;

  models.User
    .findOne({where: { id }})
    .then((result)=> {
        if(result) {
            console.log('next');
            return next();
        }
        else {
            console.log('here');
            req.session.destroy(err => {
                if (err)
                    return res.status(500).json({ message: "server error"});
                else
                    return res.status(200).json({ message: "session destroy cause of delete user"});
            });
        }
    })
});
좋아요 1

회원 탈퇴 요청에서 세션을 정리하면 되겠네요.

좋아요 1

back에서 현재 DB에 요청할때 Sequelize 라는 ORM을 통해서 하고 있습니다. Back에서 DB의 Session테이블에 접근하려면 어떻게하는게 좋을까요?

좋아요 1

세션은 모델로 관리하지 않을테죠. Sequelize에 raw query 를 실행하는 기능이 있어요. 이거로 SQL을 실행하면 됩니다.

좋아요 3