개발하는 프로 국밥러
article thumbnail
JWT(Json Web Token)
CS/네트워크 2022. 6. 27. 20:12

지난 시간에 이어 JWT 에 대해서 이야기 해보겠습니다. Json 포맷을 사용하여, 토큰 자체를 정보로 사용하는 방식으로 주로 회원 인증이나, 정보 전달에 사용된다. JWT 구조 Header, Payload, Signature 의 3 부분으로 이루어지며, JSON 형태인 Base64Url 로 인코딩 되어 표현된다. 각각의 부분을 이어 주기 위해서 . 구분자를 사용하여 구분한다. Header 토큰의 헤더는 typ, alg 두 가지 정보로 구성된다. alg 는 헤더를 암호화 하는 것이 아니라, signature 를 해싱하기 위한 알고리즘을 지정하는 것이다. typ : 토큰의 타입을 지정 ex)JWT alg : 알고리즘 방식을 지정하며, signature 및 토큰 검증에 사용 payload 토큰의 페이로드에는..

article thumbnail
세션과 토큰
CS/네트워크 2022. 6. 27. 20:07

로그인 처리를 하던 도중 세션과 토큰의 차이점에 대해서 정리해 보고자 한다. 서버(세션) 기존 인증 시스템은 서버 기반의 인증 방식으로 서버 측에서 사용자의 정보를 기억해야 한다. 서버가 사용자들의 정보를 기억하기 위해서 세션을 유지해야 하는데, 메모리 또는 디비를 통해 관리한다. 이러한 서버를 Sateful 서버라고 한다. 이러한 세션 인증 방식은 다음과 같은 문제점을 가지고 있다. 세션 사용자가 인증을 할 때 서버는, 이 정보를 저장해야 하고, 이를 세션이라고 부른다. 대부분의 경우에는 메모리에 저장하는데, 로그인 중인 사용자가 늘어날 때, 서버의 RAM 에 부하가 걸리게 된다. 이를 위해 디비에 저장하고 하는데, 디비에 무리를 줄 수 있다. 확장성 더 많은 트래픽을 처리해야 할 때, 세션을 사용한다..