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 |