2023-06-16 TIL

0v0baek·2023년 6월 16일
0

TIL

목록 보기
75/92

[js] 로컬스토리지 토큰 디코딩하기

이때까지의 프로젝트에서는
유저 정보를 담아주는 payload값을 로컬 스토리지에 저장했는데,
이번 프로젝트에서는 그게 빠지면서 user_id를 들고 올 방법을 고안했어야했다.

프로젝트 토큰이 커스텀 되어서 정보가 담겨있기 때문에,
이걸 디코딩하면 될 것 같았다.

const token = localStorage.getItem("access");

const payload = token.split(".")[1];
const decodedPayload = JSON.parse(atob(payload));

const userId = decodedPayload["user_id"];

토큰의 header, payload, signature.으로 3등분 되어있다는 걸 응용해서
split으로 잘라준 뒤, 1번째(0번부터 시작) 값을 들고온다.

그리고 파싱해서, 거기서 user_id를 찾는 방식이다.

아이디가 잘 찍힌다!!

근데 토큰도 디코딩이 이렇게 쉽게 되면.. 보안성에 문제가 있을 수도 있지 않나?
보안을 강화시킬 수 있는 방법을 더 생각해봐야겠다. (토큰을 한번 더 암호화 해준다던가)

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글