WEB5 - Express passport.js

passport.js 로그아웃

수업소개

Passport.js 에서 로그아웃하는 방법을 알아봅니다.

 

 

 

강의

 

 

 

소스코드 

변경사항

댓글

댓글 본문
  1. Dea No
    오 감사합니다
    되네요
    대화보기
    • asekang
      FileStore 의 파일 쓰기 작동 방식이 Windows 와 Unix(Linux) 방식과 틀려 작동이 상이하게 된다고 나오네요(Win 7에서는 해결되었는데 Win10 에서는 여전히 오류 발생한다고 Google 검색)
      가장 단순히 해결하는 방법은 session-file-store를 사용하지 않고 connect-loki 를 사용하면 패스포트 예시 그대로 작업해도 되고 여기서 설명하는 그대로 작동되는 것을 확인할 수 있습니다. connect-loki 는 디렉토리 루트에 session-store-db 파일을 만드는데 여기에 passport 항목을 보면 로그온 성공 시 사용자 detail 을 확인할 수 있습니다.
    • 홍지성
      만약에 facebook / google / ID,PW 세가지를 사용하려고 하면
      serializeUser, deserializeUser 함수 내부에서 조건을 만들어서 다른 처리를 해주어야 하는건가요?
    • 굼벵이
      완료
    • DOTOLEE
      main.js에서
      app.use(session({
      httoOnly : true,
      sercure : true,
      secret: 'keyboard cat',
      resave: false,
      saveUninitialized: true
      //store : new FileStore()
      }))

      store 부분 주석 처리하면 새로고침 안해도 됩니다.
    • 저도 새로고침 해야 나오는 현상이...
    • leesj020925@naver.com
      저는 pm2 나 nodemon 안쓰고 콘솔에서 node main.js 이렇게 껐다 키면서 강의를 진행해 왔는데요.
      밑에 분 처럼 로그인 했을때 닉네임이랑 로그아웃 버튼으로 바로 안바뀌는 현상이 나타나네요. 새로고침을 해야 정상적으로 나타납니다... 문제 해결 방법이 있을까요?
    • Specialist
      어째 아무리 해봐도 그냥 세션을 이용해서 하는것만 못한거 같아요. 이고잉님 이거 너무 어렵네요...
    • 치미
      로그인 할 때도 바로 적용이 안되는 경우가 있는데
      로그아웃 할 때 save나 destroy처럼 세션에 대한 처리를 완료한 다음에
      콜백함수를 통해 다음작업을 진행 할 수 있는 함수가 있나요? 아니면 pm2문제일까요?
    • evilsakura22
      세션파일 자체는

      유저가 로그인을 하든 안하든

      express-session 미들웨어를 사용하기만 하면

      언제나 만들어지고 사용되는 것이니까요.
    • evilsakura22
      그러니까 로그아웃을 할 때 세션파일을 지우면 안되고,
      로그인을 하면서 저장한 데이터만 지우면 됩니다.

      로그인 할때 req.session.is_logged = true; 라고 했다면
      로그아웃할때는 delete req.session.is_logged; 만 하면 됩니다.
    • evilsakura22
      request.session.destroy() 를 사용하면 세션파일이 삭제됩니다.

      그런데 response.redirect('/')로 홈으로 다시 돌아올때,
      다시 요청을 보내면서 request header에는
      이미 지워진 파일이름에 해당하는 세션아이디를 쿠키값으로 여전히 가지고 있기 때문에,
      이미 지워진 파일을 다시 찾으려고 하기에 콘솔에서 파일을 찾을 수 없다고 나오는 것입니다.
    • 삼고잉
      잘 읽었습니다
    graphittie 자세히 보기