서버가 ' 특정 유저가 로그인 되었다 ' 는 상태를 저장하는 방식
사용자가 로그인 요청을 보냄
서버는 DB의 유저 테이블에서 아이디 비밀번호를 대조
실제 유저테이블의 정보와 일치한다면 인증을 통과하게 된 것으로 보고 세션 저장소에 해당 유저가 로그인 되었다는 정보를 넣음
세션 저장소에는 유저의 정보와는 관련 없는 난수인 sesstion-id를 발급
서버는 로그인 요청의 응답으로 session-id를 내어줌
클라이언트는 session-id를 쿠키라는 저장소에 보관하고 앞으로의 요청마다 세션 아이디를 같이 보냄(주로 HTTP header에 담아서 보냄)
클라이언트의 요청에서 쿠키를 발견했다면 서버는 세션 저장소에서 쿠키 검증
만약 유저 정보를 받아왔다면 이 사용자는 로그인이 되어 있는 사용자
이후 로그인 된 유저에 따른 응답을 내어줌
JWT(JSON Web Token)
인증에 필요한 정보들을 암호화시킨 토큰
쿠키/세션 방식과 유사하게 JWT 토근(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별
사용자가 로그인 요청을 보냄
서버는 DB의 유저 테이블에서 아이디 비밀번호를 대조
실제 유저 테이블의 정보와 일치한다면 인증을 통과한 것으로 보고 유저의 정보를 JWT로 암호화해서 내보냄
서버는 로그인 요청의 응답으로 jwt 토큰을 내어줌
클라이언트는 그 토큰을 저장소에 보관하고 앞으로의 요청마다 토큰을 같이 보냄
클라이언트의 요청에서 토큰을 발견했다면 서버는 토큰을 검증
이후 로그인 된 유저에 따른 응답을 내어줌