JWT의 개념, localStorage의 개념

2021. 3. 19. 20:29Study/지식

반응형

JWT -  JSON Web Token
토큰 기반 인증 시스템의 구현체
웹표준 (RFC 7519) 으로서 두 개체에서 JSON 객체를 사용하여 
가볍고 자가수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달해준다.
수많은 프로그래밍 언어에서 지원된다.
자가 수용적이다.
쉽게 전달 되 수 있다.

회원인증, 정보교류에 많이 사용된다.

JWT의 생김새
헤더.내용.서명

헤더(Header)
typ - 토큰 타입을 지정
alg - 해싱 알고리즘 지정

정보(payload)
토큰에 담을 정보가 들어있다.
클레임(claim) 담는 정보의 한 조각
1. 등록된(registered) 클레임
2. 공개(public)클레임
3. 비공개(private)클레임

서명(signature)
헤더의 인코딩값과 정보의 인코딩값을 합친후 주어진 비밀키로 해쉬를 하여 생성한다.



웹 스토리지
즉 브라우저 상에 데이터를 저장할 수 있는 기술
1.로컬 스토리지 2. 세션스토리지

세션스토리지는 웹페이지의 세션이 끝날 때 저장된 데이터가 지워진다.
브라우저에서 같은 웹사이트를 여러 탭이나 창에 띄우면, 여러 개의 세션 스토리지에 데이터가 서로 격리되어 저장
각 탭이나 창이 닫힐 때 저장해 준 데이터도 함께 소멸

로컬스토리지는 여러 탭이나 창 간에 데이터가 서로 공유되며 탭이나 창을 닫아도 데이터는 브라우저에 그대로 남아 있다.
로컬스토리지의 데이터 영속성은 어디까지나 계속해서 동일한 컴퓨터에서 동일한 브라우저를 사용할 때만 해당

웹스토리지 주의사항
오직 문자형(string) 데이터 타입만 지원


해결방법

JSON 형태로 이터를 읽고 쓰는 것

로컬 스토리지에 쓸 데이터를 JSON형태로 직렬화(serialization),
읽은 데이터를 JSON형태로 역질렬화(deserialization)해주면 원본의 데이터를 그대로 얻을 수 있다.

 

출처

velopert.com/2350

www.daleseo.com/js-web-storage/

반응형