공부 기록/IT 기술
session과 token based authentication의 차이점
naraewool
2020. 5. 4. 16:48
728x90
Session based authentication
사용자가 로그인을 하면 서버 쪽에 사용자의 로그인 정보를 정보를 저장해두고, 해당 정보를 session_id로 클라이언트 쪽으로 보냄 -> 사용자가 사용하는 브라우저에 쿠키가 저장되면서 session_id도 함께 저장됨 -> 사용자가 요청 시, 쿠키에 저장되어있는 session_id도 함께 보냄 -> 서버에 저장된 session_id와 클라이언트 쪽에서 보낸 session_id를 비교해서 유효한 지 확인 -> 같으면 로그인을 하지 않아도 됨
Token based authentication
사용자가 로그인을 하면 로그인 정보를 JWT 형태로 암호화해서 (여기서는 JWT로 설명하였지만, 토큰은 다른 종류가 될 수 있음) 클라이언트에게 보냄 -> 클라이언트에서 JWT 저장 (보통 localStorage에 저장) -> 매 요청시마다 요청 헤더에 JWT도 함께 보냄 -> 서버에서 요청을 받으면 헤더에 있는 JWT를 검증하여 유효하면 요청에 대한 응답을 보냄