Backend(2)
-
인증 알아보기 (JWT)
토큰 기반 인증 이전 글에서 살펴본 세션을 사용하는 인증은 scale out 환경에서 처리가 복잡해진다는 문제가 있었다. 토큰 기반의 인증을 사용하면 이러한 문제점을 해결할 수 있다. 세션 기반 인증은 인증 정보를 서버에 저장하는 방식으로 구현되지만, 토큰 기반 인증은 쿠키와 비슷하게 인증 정보를 클라이언트가 가진다. 인증 정보는 토큰의 형태로 쿠키 혹은 브라우저의 로컬 스토리지에 저장된다. 토큰 기반 인증에서는 사용자가 가진 토큰을 HTTP의 Authorization 헤더에 실어서 보낸다. 우선 Authorization 헤더에 대해 좀 더 알아보자. HTTP 인증 프레임워크 HTTP 인증 프레임워크는 RFC 7235에 정의되어 있다. HTTP에서 인증은 일반적으로 다음과 같이 동작한다. 서버는 클라이언..
2024.02.18 -
인증 알아보기 (쿠키와 세션)
인증(Authentication)과 인가(Authorization) ✔️ 인증 (Authentication) 식별 가능한 정보를 이용하여 서비스에 등록된 유저의 신원을 입증하는 과정을 의미한다. 쉽게 말해서 로그인이다. ✔️ 인가 (Authorization) 인증된 사용자에 대해서 요청에 대한 권한을 확인하는 과정을 의미한다. 인스타그램을 예시로 들면, 내가 작성한 피드를 수정하는 것은 가능하지만 다른 사람의 피드는 내가 수정할 수 없다. 이는 다른 사람의 피드를 수정할 권한이 없기 때문인데, 이를 인가되지 않았다고 한다. HTTP 프로토콜의 특징 ✔️ 무상태성(Stateless) 서버는 클라이언트의 HTTP 요청 정보를 저장하지 않는다. 클라이언트가 요청을 여러번 보냈다고 하더라도, 각 요청들의 맥락이..
2024.02.17