[프론트엔드 로그인] 1. 세션 인증 방식

낙서·2023년 9월 30일
0

Web session은 무엇일까요?

  • 웹 사이트 방문자가 일련의 액션들을 수행하는 시간 단위입니다.
  • 브라우저 탭을 종료하면 세션이 종료됩니다.

세션 인증(Session Authentication)

  • 웹 세션 동안에 사용자들은 검색, 폼 작성, 장바구니 상품 추가 등과 같은 인터렉션(액션)들을 수행합니다.
  • User Interaction에는 클라이언트-서버 통신이 수반될 것이고 서버 측에 만들어진 세션 인스턴스와 세션 식별자(Session ID)가 통신 중 사용됩니다.
  • 세션이 살아있다면 로그인 상태인 유저의 액션에 따른 적절한 응답이 클라이언트로 전달될 것입니다.

Session ID

  • 세션 기반 인증 방식의 웹 사이트는 세션 동안, 클라이언트-서버 통신 중 Session ID를 주고받습니다.
  • 세션은 만료 기한이 있는데 개발자들은 경우에 따라 이를 5분으로 설정하기도 하고 하루 종일로 설정하기도 합니다.

세션 로그인 플로우

브라우저-서버 통신 사이에서 사용되는 Session ID

- 1 - 브라우저에서 유저가 로그인 수행
- 2 - 서버 측에서 Session을 생성, Session ID를 브라우저에 쿠키로 보관
- 3 & 4 - 서버 측에 요청을 보낼 때, 쿠키에 저장해두었던 Session ID를 꺼내서 함께 전달
- 5 - 서버에서 클라이언트로 Session ID에 대한 응답 전달

세션 인증 방식 단점

  • 서버 측에서 Session을 생성하고 관리하는데 서버 리소스가 사용되고 부하를 유발할 수 있습니다.
  • 최근에는 서버 부담이 적은 JWT를 이용한 토큰 인증 방식이 세션 인증 방식보다 더 선호되고 있습니다.

다음 포스팅

  • JWT 로그인

참고 자료

profile
Deprecated

0개의 댓글