JWT를 이용한 로그아웃 구현
·
개발 지식
Stateless한 JWT는 안전한 로그아웃을 구현할 수 없다 JWT 방식으로 발급한 토큰의 제어권은 서버가 가지고 있지 않다. 구조적으로 생각해보면 당연한 이야기이다. JWT를 사용하는 장점이 Stateless함을 바탕으로 빠른 인증 처리인데, 그 과정에서 서버는 해당 토큰이 유효한지 만을 체크하기 때문에, 서버에선 해당 토큰에 대한 정보가 아무것도 없다. 따라서 토큰이 탈취당한 경우 다음과 같은 상황이 발생한다. 사용자A = 토큰의 주인 해커 = 사용자 A의 토큰 탈취자 사용자 A가 서버에 로그인 요청 서버 : 보자.. 토큰이 유효하네? 패스~ 해커가 사용자 A의 토큰으로 로그인 요청 서버: 보자.. 토큰이 유효하네? 패스~ 이런 상황은 JWT 토큰의 유효시간을 줄이면 그나마 좀 방지가 될 것 같다..
JWT(JSON Web Token) 구성 요소
·
개발 지식
JWT는 3개의 필드로 구성되어 있다.각각의 필드에 대해서 알아보자.Header{ "typ" : "JWT", "alg" : "HS512"}Header는 두 가지로 구성되어 있다. typ (Type)해당 토큰의 타입을 나타낸다.위 예시에서는 JWT를 토큰으로 사용한다는 의미이다.alg (Algorithm)서명 생성을 위해 사용하는 해시 알고리즘이 무엇인지 나타낸다.일반적으로 SHA-2(HS256), SHA-256(RS256) 알고리즘을 주로 사용한다.  Payload{ "sub": "1", "iss": "ori", "exp": 1669897918, "iat": 1636987918}사용자와 토큰에 대한 속성값(property)를 key-value 형태로 저장하는데 이를 Cla..
OSNIE
'개발 지식' 카테고리의 글 목록