본문 바로가기

개발/JavaScript

[JS] JWT 디코딩 문제

Vue 프로젝트에서 JWT의 payload에 있는 유저 아이디 값을 가져오는 부분이 있었는데...

특정 아이디 JWT 디코딩이 이상하게 되는 문제가 있었다 🤯

다른 아이디와 차이점은 해당 아이디에 _(언더바)가 들어가있었다..

프론트에서 JWT payload 값을 쓸때 유의하자!!

 

- 오류 났던 코드

decodeURIComponent(window.atob(value))

/* 참고 
decodeURIComponent : 인코딩된 문자열을 받아 원래 문자열로 반환한다.
window.atob(base64): Base64 문자열을 디코딩하여 원래의 이진 데이터를 얻는다.
*/

 

- 수정된 코드

decodeURIComponent(window.atob(value.replace(/-/g, '+').replace(/_/g, '/')));

 

- 참고했던 블로그

https://velog.io/@postlist/JS-JWT-%EB%94%94%EC%BD%94%EB%94%A9

 

[JS] JWT 디코딩

서버에서 응답받은 JWT의 payload 데이터가 프론트에 필요할 때가 있다.

velog.io

 

'개발 > JavaScript' 카테고리의 다른 글

[JS] 파일 다운로드 CSV 파일 오류  (0) 2024.05.24
[JS] Video 태그 자동재생  (0) 2023.12.12