9/5 TIL 세션 기반 인증과 토큰 기반 인증의 차이

이승준·2023년 9월 6일
0
post-thumbnail

세션 기반 인증과 토큰 기반 인증의 차이

세션 기반 인증(Session-based Authentication):

  • 세션 기반 인증은 클래식한 방식으로 작동합니다. 사용자가 웹 애플리케이션에 로그인하면 서버는 사용자를 식별하기 위한 고유한 세션 ID를 생성합니다.
  • 이 세션 ID는 서버 측에서 저장되며, 사용자의 브라우저에 쿠키(cookie)로 저장됩니다.
  • 클라이언트(브라우저)는 세션 ID를 갖고 있어야만 서버에 요청을 보낼 수 있으며, 서버는 세션 ID를 확인하여 해당 사용자를 인증합니다.
  • 세션은 서버 측에서 관리되므로 클라이언트가 세션 ID를 노출하거나 조작할 수 없도록 보안이 강화됩니다.

토큰 기반 인증(Token-based Authentication):

  • 토큰 기반 인증은 세션 기반 인증과 달리 서버 측에서 상태를 유지하지 않습니다.
  • 사용자 인증 정보를 토큰(token) 형태로 발급하고 관리합니다.
  • 사용자가 로그인하면 서버는 토큰을 발급하고 클라이언트에게 반환합니다.
  • 클라이언트는 토큰을 안전하게 보관하고, 필요할 때마다 요청 헤더나 URL 매개변수 등을 통해 토큰을 서버에 제공합니다.
  • 서버는 토큰을 확인하여 사용자를 인증하며, 토큰의 유효기간을 검사하여 만료되었을 경우 재인증을 요구할 수 있습니다.
  • 토큰은 보통 JSON Web Tokens (JWT) 형식으로 사용되며, 정보를 안전하게 저장하고 전달하기 위해 디지털 서명이나 암호화를 사용할 수 있습니다.

0개의 댓글