解码并打印JWT令牌
快速查看 jwt 令牌内部结构
目录
以下是直接从命令行解码和打印 JWT 令牌的一些有效方法:

1. 使用 jq
jq 工具可用于解码并美化打印 JWT 令牌:
-
命令:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'该命令将 JWT 分割成其组成部分(头部和负载),从 Base64 解码,并将其格式化为 JSON。
-
示例:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Bash 脚本
一个自定义的 Bash 脚本可以使用 base64 和 jq 来解码 JWT 令牌:
-
脚本:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS " -
将此脚本保存到文件中(例如
decode_jwt.sh),使其可执行(chmod +x decode_jwt.sh),然后使用令牌作为参数运行。
3. Zsh 函数
将以下函数添加到 .zshrc 文件中,以便快速访问:
- 函数:
该函数使用 OpenSSL 解码头部和负载,并使用 Python 的
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "json.tool进行格式化。
4. 使用 jwt-cli
安装 jwt-cli 工具可以轻松解码 JWT:
-
安装:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli -
命令:
jwt-cli decode此工具还支持编码和签名 JWT[2]。
5. 使用 OpenSSL 的最小单行命令
对于没有额外工具的快速解决方案:
- 命令:
该命令使用
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.toolawk分割令牌,使用base64解码,并使用 Python 格式化输出。