JWT 저장시 저장소 및 처리가 궁금합니다.
JWT 저장시 저장소 및 처리가 궁금합니다.
보통 JWT 토큰 등을 쿠키나 웹 스토리지(세션스토리지,로컬스토리지) 에 저장하는것으로 알고있습니다.
1. 이때 가장 범용적으로 많이 쓰이는 저장소는 어떠한것인지 궁금하며 이유도 궁금합니다.
2. 쿠키에 저장시 httpOnly 옵션을 꼭 줘야하나요?? 이유도 궁금합니다.
3. httpOnly 옵션을 주면 JS로 접근이 안된다고는 하지만 다른 플러그인이나 개발자도구 등으로도 위변조가 아예 불가능한 완전한 안전이 이루어지나요??
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요.
1. 세션 스토리지는 브라우저 탭 별로 공유가 되지 않고 브라우저를 닫을 때 데이터가 삭제됩니다. 로컬 스토리지는 명시적으로 삭제하지 않는 한 영구적입니다. 장단점을 비교하여 사이트에 맞는 스토리지를 선택하면 될 듯 하고 보통 사이트들은 탭을 복제하거나 브라우저를 닫고 바로 열었을 때 세션을 유지하는 경우가 많습니다.
로컬 스토리지를 사용한다면 JWT 유효시간이 지나면 삭제하는 로직이 있어야 하겠습니다.2 / 3. httpOnly 옵션은 javascript로 조작 하는 것을 방지합니다. 개발자 도구로 변경은 가능하나 본인이 개발자도구를 열어서 조작하는 것을 막는게 아니라 해커가 스크립트를 심어 놓은 피싱 URL이나 유사 사이트에서 조작하는 것을 방지합니다.