클라이언트가 서버에 로그인 정보를 보냄.
서버는 로그인이 성공하면, 저장소에 사용자가 인증에 성공한 상태, 즉 세션을 저장한다.
만들어진 세션의 아이디를 쿠키를 이용하여 클라이언트에 전달한다.
클라이언트가 서버에 또 다시 요청을 하면, 쿠키를 통해 유효한 세션 아이디가 서버에 전달되고, 저장소에 해당 세션이 존재한다면 로그인/비밀번호 없이 접근을 수락한다.
클라이언트로부터 로그아웃 요청이 온다면 다음 두 가지 작업을 시행해야한다.
서버의 세션 정보 삭제
클라이언트의 쿠키 갱신.
서버가 클라이언트의 쿠키를 임의로 삭제할 수 없다. 대신,
set-cookie
로 세션 아이디의 키값을 무효한 값으로 갱신해야한다.(이 부분은 express-session에서 자동으로 시행되어서 내가 실제로 구현해본 적이 없다.)