Avkoda och skriv ut JWT-token.

Titta snabbt inuti ett JWT-token.

Sidinnehåll

Här är några effektiva metoder för att dekodera och skriva ut JWT-token direkt från kommandotolken:

Denna guide ingår i Developer Tools: Den fullständiga guiden till moderna utvecklingsarbetsflöden-klustret.

man med en stor skärm med otydlig information

1. Användning av jq

Verktyget jq kan användas för att dekodera och formatera JWT-token:

  • Kommando:

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

    Detta delar JWT:et i dess komponenter (huvud och last), dekodrar dem från Base64 och formaterar dem som JSON. För mer information om Base64-operationer, se Encoding - dekodning Base64 på Windows, Linux och Mac.

  • Exempel:

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

2. Bash-skript

Ett anpassat Bash-skript kan dekodera JWT-token med hjälp av base64 och jq:

  • Skript:

    #!/usr/bin/env bash
    function decode_jwt() {
        IFS='.' read -ra PARTS "
    
  • Spara detta skript i en fil (t.ex. decode_jwt.sh), gör den exekverbar (chmod +x decode_jwt.sh) och kör den med din token som ett argument.


3. Zsh-funktion

Lägg till följande funktion i din .zshrc-fil för snabb åtkomst:

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

Detta dekodrar huvudet och lasten med OpenSSL och formaterar dem med Python’s json.tool.


4. Användning av jwt-cli

Installera verktyget jwt-cli för att enkelt dekodera JWT:

  • Installation:

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

    jwt-cli decode 
    

Detta verktyg stödjer även kodning och signering av JWT[2].


5. Minimal radkommando med OpenSSL

För en snabb lösning utan ytterligare verktyg:

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

Detta använder awk för att dela token, base64 för att dekodera och Python för att formatera utdata.

Användbara länkar