JWT 토큰을 디코딩하고 출력합니다.

JWT 토큰의 내용을 빠르게 확인해 봅니다.

Page content

다음은 명령줄에서 JWT 토큰을 직접 디코딩 및 출력하는 데 효과적인 몇 가지 방법입니다:

이 가이드는 개발자 도구: 현대 개발 워크플로우 완전 가이드 클러스터의 일부입니다.

알 수 없는 내용이 가득한 대형 화면을 바라보는 남자

1. jq 사용

jq 도구를 사용하여 JWT 토큰을 디코딩하고 가독성 있게 출력할 수 있습니다:

  • 명령:

    echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
    

    이 명령은 JWT 를 구성 요소 (헤더 및 페이로드) 로 분할하고 Base64 에서 디코딩한 후 JSON 형식으로 포맷팅합니다. Base64 연산에 대한 자세한 내용은 Windows, Linux, Mac 에서 Base64 인코딩 및 디코딩을 참조하세요.

  • 예시:

    echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \
      | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
    

2. Bash 스크립트

base64jq 를 사용하여 JWT 토큰을 디코딩하는 맞춤형 Bash 스크립트를 작성할 수 있습니다:

  • 스크립트:

    #!/usr/bin/env bash
    function decode_jwt() {
        IFS='.' read -ra PARTS "
    
  • 이 스크립트를 파일 (예: decode_jwt.sh) 로 저장하고 실행 권한을 부여한 후 (chmod +x decode_jwt.sh), 토큰을 인자로 전달하여 실행합니다.


3. Zsh 함수

빠른 사용을 위해 다음 함수를 .zshrc 파일에 추가하세요:

  • 함수:
    function jwt() {
        for part in 1 2; do
            b64="$(cut -f$part -d. "
    

이 함수는 OpenSSL 을 사용하여 헤더와 페이로드를 디코딩하고 Python 의 json.tool 로 포맷팅합니다.


4. jwt-cli 사용

JWT 를 쉽게 디코딩하려면 jwt-cli 도구를 설치하세요:

  • 설치:

    brew tap sgaunet/homebrew-tools
    brew install sgaunet/tools/jwt-cli
    
  • 명령:

    jwt-cli decode 
    

이 도구는 JWT 인코딩 및 서명도 지원하며 [2].


5. OpenSSL 을 사용한 최소한의 원라인 (One-Liner)

추가 도구 없이 빠른 해결책을 원한다면:

  • 명령:
    echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
    

이 명령은 awk 를 사용하여 토큰을 분할하고, base64 로 디코딩하며, Python 을 사용하여 출력을 포맷팅합니다.

유용한 링크