위클리 페이퍼 14주차

LEE GYUHO·2023년 12월 17일
0

세션 기반 인증과 토큰 기반 인증을 비교해서 설명해 주세요.

  • 세션 기반 인증은 클라이언트가 서버에 로그인 요청을 하면, 서버는 해당 요청을 인증한 후, 유니크한 ID인 세션 ID를 생성합니다. 이 세션 ID는 서버에서 관리되며, 클라이언트에게도 이 세션 ID가 쿠키 형태로 전달됩니다. 클라이언트는 이후 요청을 보낼 때마다 이 쿠키를 함께 보내어 자신을 인증하게 됩니다. 이렇게 서버 측에서 클라이언트의 세션 정보를 유지하고 있는 것이 특징입니다.

  • 토큰 기반 인증은 클라이언트가 서버에 로그인 요청을 보내면, 서버는 요청을 인증한 후 토큰을 생성하여 클라이언트에게 전달합니다. 클라이언트는 이후 요청을 보낼 때마다 이 토큰을 함께 보내어 자신을 인증하게 됩니다. 토큰 기반 인증의 특징은 서버가 토큰을 통해 클라이언트의 상태를 유지하지 않습니다. 이 토큰은 서버가 아닌 클라이언트 측에서 관리되며, 이 토큰에는 사용자의 인증 정보, 권한 등이 포함되어 있습니다.

  • 두 방식의 주요 차이점은 "상태 유지(Stateful)"와 "상태 없음(Stateless)"에 있습니다. 세션 기반 인증은 서버가 클라이언트의 상태를 유지하는 반면, 토큰 기반 인증은 서버가 클라이언트의 상태를 유지하지 않습니다. 이로 인해 서버의 부하를 줄이고 확장성을 높일 수 있는 장점이 있습니다. 그러나 토큰은 탈취당할 위험이 있으므로 보안에 신경을 써야 합니다.

Authorization Code를 활용하는 구글 소셜 로그인을 실행하기 까지 유저, 프론트엔드, 백엔드, OpenID Connect 프로바이더 사이에 어떤 과정을 거치는지 설명해 주세요.

profile
누구나 같은 팀으로 되길 바라는 개발자가 되자

0개의 댓글