헉!!/ETC
JWT 토큰 Decode 방법
권태성
2024. 11. 22. 21:41
로그 확인 중 바로 JWT 토큰을 Decode해서 특정 값을 확인할 필요가 있어 jwt-decode 패키지를 사용해봤습니다. jwt-decode는 서명을 검증하지않고 단순히 디코딩하기에 단순 디코딩 용도로 사용하는데 적합합니다.
jwt-decode는 Node.js 라이브러리입니다. 사용 전 Node.js 설치가 필수입니다.
아래 과정은 Node.js 설치가 된 것을 전제로 합니다.
1. 패키지 설치
npm install jwt-decode
2. 기본 사용법
const jwtDecode = require('jwt-decode');
// 디코딩할 JWT 토큰
const token = 'your-jwt-token-here';
// JWT 디코드
const decoded = jwtDecode(token);
console.log(decoded);
3. 헤더까지 디코드 (옵션 사용)
jwt-decode는 디코딩할 때 옵션으로 헤더 포함 여부를 지정할 수 있습니다.
const jwtDecode = require('jwt-decode');
const token = 'your-jwt-token-here';
// 헤더 포함 디코드
const decodedWithHeader = jwtDecode(token, { header: true });
console.log(decodedWithHeader);
위와 같이 token을 디코딩하면 아래와 같은 결과를 반환받습니다.
{
"userId": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
앞서 말씀드렸듯이 서명을 검증하지 않으므로 인증 용도로 사용하면 문제가 발생할 수 있습니다. 반드시 용도에 맞게 사용하길 권장합니다.
728x90