피드로 돌아가기
Dev.toBackend
원문 읽기
Node.js CLI 도구로 JWT를 터미널에서 직접 복호화함
Decode JWT in the terminal
AI 요약
Context
JWT 토큰을 확인하기 위해 jwt.io 같은 온라인 도구를 사용하면 외부 의존성과 보안 위험이 발생함. 매번 브라우저를 열어 토큰을 붙여넣는 번거로움도 있음.
Technical Solution
- base64UrlDecode 함수: URL 안전 문자(-, _)를 일반 base64 문자(+, /)로 변환하고 패딩을 추가한 후 디코딩함
- decodeJwt 함수: JWT 토큰을 점(.)으로 분리하여 header, payload, signature를 추출함
- process.argv[2]: 명령줄 인자로 토큰을 전달받아 스크립트 실행 시 동적으로 처리함
- shebang 추가: #!/usr/bin/env node로 시스템 PATH에서 Node.js를 자동 탐지함
- chmod 700과 PATH 등록: 스크립트에 실행 권한을 부여하고 zsh 환경에서 전역 사용 가능하도록 함
Impact
JWT 토큰 확인 작업이 브라우저에서 터미널로 이동하여 외부 서비스 의존성 제거됨.
Key Takeaway
Node.js 환경이라면 20줄 미만의 코드로 JWT 디코딩 CLI 도구를 만들 수 있으며, shebang과 PATH 설정을 통해 프로젝트 어디서나 실행 가능한 글로벌 도구로 만들 수 있음.
실천 포인트
새로운 CLI 도구를 개발할 때는 shebang 추가, chmod로 실행 권한 부여, PATH 등록의 세 단계를 적용하면 터미널 어느 경로에서든 사용할 수 있음. 이 패턴은 JWT 디코딩뿐 아니라日常 업무 자동화에 활용 가능함.