'Passport'에 해당되는 글 1건

passport에서는 serializeUser 와 deserializeUser를 통해 login 유지를 구현하게 된다.


serializeUser시 session에 유저정보를 저장하고 deserializeUser시 session에서 유저정보를 가져와 http request 객체에 user라는 key에 담아 보내준다.


deserializeUser는 매 페이지마다 실행되기 때문에 페이지를 띄우면(get 방식) req.user에 담긴 유저정보를 사용해 crud 웹을 구현할 수 있게되는 것이다.


client 쪽에서는 cookie를 통해 session에 접근 할 수 있는 key를 브라우저에 가지고 있게 되며, cookie가 만료되어서 파기되면 session도 함께 지워진다. 그래서 express + passport를 통해 사용자 인증을 구현하기 위해서 cookie의 maxage 설정에 주의할 필요가 있다.


아래는 공식홈에서 가이드하고 있는 내용이다.

The server will store the pertinent information in the session object, and create a session ID which it will send back to the client in a cookie. When the client sends back the cookie, the server can simply look up the session object using the ID. So, if you delete the cookie, the session will be lost.


(서버는 session object에 유저정보를 유지하는데 이때 session Id를 client에 session cookie 값으로 보내준다. 클라이언트는 이를 이용해 session object를 찾고 이를 리턴 받게 되는 것이다. node.js에서는 deserializeUser를 할때 이 session cookie값을 이용해 session obejct를 searching하고 return 하는 것으로 볼 수 있다. 이는 passport 공식홈에서도 잘 설명해주고 있다. 


Sessions

In a typical web application, the credentials used to authenticate a user will only be transmitted during the login request. If authentication succeeds, a session will be established and maintained via a cookie set in the user's browser.

via a cookie set이라는 부분이 있다. session은 생성되고 maintain된다 user browser의 cookie set을 통해서)

'프로그램 > node.js' 카테고리의 다른 글

node-gyp 관련에러  (0) 2015.03.27
npm install 관련 오류  (0) 2015.03.27
passport에서 세션과 쿠키  (0) 2015.03.27
node.js에서의 module.exports와 exports의 차이?  (0) 2015.03.19
node.js 유용한 모듈(n가지)  (0) 2015.02.16
모듈 path 관리 기법.  (0) 2015.02.12
블로그 이미지

종환 Revolutionist-JongHwan

github.com/alciakng 항상 겸손하자.

댓글을 달아 주세요