2016년 7월 25일 월요일

req.user is undefined on node + express + passport

Node.js + Express 4.x + passport 환경에서 로그인(또는 사용자 인증) 후에 Request 객체에 user가 저장되지 않아요.

express와 passport 모두 잘 동작하지만 사용자 인증 후에 req.user를 확인하면 아무값도 없는 현상이 나타났다.

express를 설정하는 부분에서 미들웨어 등록 순서때문에 일어난 일이다.

// set session
app.use(session({
    secret: 'SomethingPowerfulSecret'
}));
// set passport
app.use(passport.initialize());
app.use(passport.session());

express에 session 미들웨어를 설정한 후에, passport를 등록해야 정상적으로 동작한다.

게시글 목록