15个版本 (稳定版)

1.2.0 2024年5月23日
1.1.0 2024年1月22日
0.0.5 2024年1月11日
0.0.1 2023年10月24日

身份验证 中排名 50

Download history 1/week @ 2024-04-26 62/week @ 2024-05-17 48/week @ 2024-05-24 5/week @ 2024-06-07 4/week @ 2024-06-14 3/week @ 2024-06-21 50/week @ 2024-07-05 106/week @ 2024-07-26 10/week @ 2024-08-02

每月下载 116

MIT 许可证

1MB
4K SLoC

JWT UI - JSON Web Tokens的解码/编码终端UI

ci cd License LOC crates.io link Release Docker Release Coverage GitHub Downloads Crate.io downloads Docker pulls

Follow Deepu K Sasidharan (deepu105)

     ____.__      _____________       ____ ___.___
    |    /  \    /  \__    ___/      |    |   \   |
    |    \   \/\/   / |    |  ______ |    |   /   |
/\__|    |\        /  |    | /_____/ |    |  /|   |
\________| \__/\  /   |____|         |______/ |___|
                \/

JWT.iojwt-cli 启发的JSON Web Tokens解码/编码终端UI

UI

制作

Auth0 by Okta

特性

  • 完全离线
  • 支持作为纯文本、文件路径(以 @ 开头)或base64编码字符串(以 b64: 开头)的机密信息。支持的机密信息格式
    • HMAC - HS{256,384,512}: 纯文本、base64编码字符串、JWKS (JSON文本和 .json 文件)
    • RSA - RS{256,384,512}, PS{256,384,512}: PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和 .json 文件)
    • ECDSA - ES{256,384}: PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和 .json 文件)
    • EdDSA : PEM文件、DER文件、PKCS8文件、JWKS (JSON文本和 .json 文件)
      • 注意:JWKS 支持仅用于解码。编码时请使用 PEM/DER/PKCS8 文件(RSA/ECDSA/EdDSA)和平文/base64 文本(HMAC)
  • 深色/浅色主题
  • 合理的键盘快捷键和鼠标支持
  • 复制到剪贴板
  • STDOUT 模式

安装

Homebrew(Mac 和 Linux)

brew tap jwt-rs/jwt-ui
brew install jwt-ui

# If you need to be more specific, use:
brew install jwt-rs/jwt-ui/jwt-ui

升级

brew upgrade jwt-ui

Scoop(Windows)

scoop bucket add jwt-ui-bucket https://github.com/jwt-rs/scoop-jwt-ui

scoop install jwt-ui

Cargo

如果您已安装 Cargo,则可以从 crates.io 安装 JWT UI

cargo install jwt-ui --locked

您也可以克隆该存储库并运行 cargo runmake 以构建并运行应用程序

Arch Linux [由 @orhun 维护]

jwt-ui官方仓库 中可用。您可以使用 pacman 安装它

pacman -S jwt-ui

安装脚本

运行以下命令安装最新版本的二进制文件。如果没有对 /usr/local/bin 的写入权限,请使用 sudo 运行。否则,脚本将安装到当前目录

curl https://raw.githubusercontent.com/jwt-rs/jwt-ui/main/deployment/getLatest.sh | bash

Docker

作为 Docker 容器运行 JWT UI。

docker run --rm -it deepu105/jwt-ui

您还可以克隆此存储库并运行 make docker 以在本地构建 Docker 镜像并使用上述命令运行它

手册

macOS (x86_64, arm64)、Linux GNU/MUSL(x86_64, armv6, armv7, aarch64) 和 Windows (x86_64, aarch64) 的二进制文件可在 发布页面 上找到

  1. 下载您操作系统上的最新 二进制文件
  2. 对于 Linux/macOS
    1. cd 到您刚刚下载的文件,并运行 tar -C /usr/local/bin -xzf downloaded-file-name。如果需要,请使用 sudo。
    2. 使用 jwtui 运行
  3. 对于 Windows
    1. 使用 7-Zip 或 TarTool 解压 tar 文件。
    2. 运行可执行文件 jwtui.exe

用法

# Start UI
jwtui

# Start UI with prefilled token to decode and options
jwtui [OPTIONS] [TOKEN]

# Start UI with prefilled token to decode and JWKS secret from URL
jwtui -S $(curl https://domain.auth0.com/.well-known/jwks.json) [TOKEN]
# if your provider has a different URL for JWKS, look for `jwks_uri` in https://your.idp.com/.well-known/openid-configuration

# Print decoded token to stdout with HMAC plain text secret
jwtui -s -S 'plain_text_secret' [TOKEN]

# Print decoded token to stdout without signature validation.
jwtui -sn [TOKEN]

# Print decoded token to stdout with HMAC base64 encoded secret
jwtui -s -S 'b64:eW91ci0yNTYtYml0LXNlY3JldAo=' [TOKEN]

# Print decoded token to stdout as JSON
jwtui -j -S '@./secret.pem' [TOKEN]

# Print decoded token to stdout with JWKS secret from url
jwtui -s -S $(curl https://domain.auth0.com/.well-known/jwks.json) [TOKEN]

在运行应用程序时按 ? 以查看快捷键

参数:[TOKEN] 要解码的 JWT 令牌 [STDOUT 模式必需,TUI 模式可选]

选项

  • -S, --secret <SECRET> 用于验证 JWT 的密钥。可以是文本、文件路径(以 @ 开头)或 base64 编码的字符串(以 b64: 开头)[默认值:空]
  • -s, --stdout 将输出打印到 STDOUT 而不是在 TUI 模式下启动 CLI
  • -n, --no-verify 打印到 STDOUT 时不要验证 JWT 的签名。
  • -j, --json 将输出打印为 JSON
  • -t, --tick-rate <TICK_RATE> 设置滴答率(毫秒):数字越低,FPS 越高。必须小于 1000 [默认:250]
  • -h, --help 打印帮助信息
  • -V, --version 打印版本

如果您正在寻找非 TUI CLI,请查看 jwt-cli

截图

解码器屏幕

UI

编码器屏幕

UI

标准输出

UI

故障排除

注意:在 Debian/Ubuntu 上,您可能需要安装 libxcb-xfixes0-devlibxcb-shape0-dev。在 Fedora 上需要 libxcblibxcb-devel

注意:在 Linux 上,您可能需要安装包 xorg-dev(Debian/Ubuntu)或 xorg-x11-server-devel(Fedora)等,以便复制到剪贴板功能正常工作。

限制/已知问题

  • Linux/Docker 复制到剪贴板功能依赖于操作系统/架构,可能在某些 Linux 发行版中崩溃,并且不支持 aarch64arm 机器。
  • [macOS] 由于 macOS 的默认终端应用使颜色渲染异常,KDash 在 iTerm2 上看起来更好。
  • [Windows] 由于 PowerShell 的默认主题使颜色看起来很奇怪,KDash 在 CMD 中看起来更好。

使用的库

许可证

MIT

发布

  1. 更新 Cargo.toml 中的版本
  2. 更新 CHANGELOG.md 中的发布说明
  3. 提交更改
  4. 运行 make release V=vx.x.x 以通过 GitHub actions 发布新版本

创建者

依赖项

~13–26MB
~410K SLoC