- HTTP는 스테이트리스 프로토콜이자 연결이 지속되지 않는 프로토콜이기 때문에, 연결의 상태 정보를 보관할 수 있는 존재가 필요했다(참고1). 선현들은 HTTP와 웹 브라우저를 강화하여 이 문제를 해결하고자 했다.
- 쿠키는 어떻게 관리되고 사용되는가?
쿠키와 브라우저 로컬 스토리지의 차이는 무엇인가?
인증의 종류들에는 쿠키 이용 방식, OAuth 이용 방식, JWT 이용 방식 이렇게 세 가지밖에 없는가? 그리고 각각의 경우 어떻게 인증이 이루어지는가? 다이어그램으로 표현하면 어떠한가?
parse me
- 페이로드(영어: payload)는 사용에 있어서 전송되는 데이터를 뜻한다. 페이로드는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 데이터는 제외한다.
- 마이크로서비스 아키텍처가 발전함에 따라 각각의 API 서버들은 API 클라이언트에 대한 Authentication (인증)과 Authorization (인가/권한부여)를 위한 매커니즘이 필요합니다. JSON Web Token (JWT)는 마이크로 서비스의 인증, 인가에 사용할 수 있는 서명된 JSON 입니다. 토큰을 사용하면 세션을 통한 방식과 달리 서버측 부하를 낮출 수 있고 능률적인 접근 권한 관리를 할 수 있으며 분산/클라우드 기반 인프라스트럭처에 더 잘 대응할 수 있습니다.
- Cookie authentication diagram
- JWT를 이용한 인증 과정
- Token 인증 방식
- Session 인증 방식
- 웹 스토리지에는 로컬 스토리지 (local Storage)와 세션 스토리지 (session Storage)가 있다.
참고
- 많은 보안 웹사이트들은 로그인을 한 후 Cookies를 사용해 유저의 신원을 확인하여 모든 페이지에서 재인증을 거치지않아도 되게 됩니다.
- 쿠키란 http 프로토콜의 Connectionless의 특징을 보완하기 위해 고안된 것으로 브라우저가 서버 내의 어떤 문서와 어떤 커넥션이 이루어지고 있는지를 파일의 형태로 저장하는 것을 가리킨다.