Crates.io | jwt-ui |
lib.rs | jwt-ui |
version | 1.2.0 |
source | src |
created_at | 2023-10-24 09:03:06.196237 |
updated_at | 2024-05-23 17:57:20.636081 |
description | A Terminal UI for decoding/encoding JSON Web Tokens |
homepage | https://github.com/jwt-rs/jwt-ui |
repository | https://github.com/jwt-rs/jwt-ui |
max_upload_size | |
id | 1012197 |
size | 1,189,955 |
____.__ _____________ ____ ___.___
| / \ / \__ ___/ | | \ |
| \ \/\/ / | | ______ | | / |
/\__| |\ / | | /_____/ | | /| |
\________| \__/\ / |____| |______/ |___|
\/
A terminal UI for decoding/encoding JSON Web Tokens inspired by JWT.io and jwt-cli
Crafted by
@
) or base64 encoded string (beginning with b64:
). Supported secret formats:
HS{256,384,512}
: Plain text, base64 encoded string, JWKS (JSON text and .json
file)RS{256,384,512}
, PS{256,384,512}
: PEM file, DER file, PKCS8 file, JWKS (JSON text and .json
file)ES{256,384}
: PEM file, DER file, PKCS8 file, JWKS (JSON text and .json
file).json
file)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
To upgrade
brew upgrade jwt-ui
scoop bucket add jwt-ui-bucket https://github.com/jwt-rs/scoop-jwt-ui
scoop install jwt-ui
If you have Cargo installed then you install JWT UI from crates.io
cargo install jwt-ui --locked
You can also clone the repo and run cargo run
or make
to build and run the app
jwt-ui
is available in the official repositories. You can install it using pacman:
pacman -S jwt-ui
Run the below command to install the latest binary. Run with sudo if you don't have write access to /usr/local/bin
. Else the script will install to the current directory
curl https://raw.githubusercontent.com/jwt-rs/jwt-ui/main/deployment/getLatest.sh | bash
Run JWT UI as a Docker container.
docker run --rm -it deepu105/jwt-ui
You can also clone this repo and run make docker
to build a docker image locally and run it using the above command
Binaries for macOS (x86_64, arm64), Linux GNU/MUSL(x86_64, armv6, armv7, aarch64) and Windows (x86_64, aarch64) are available on the releases page
cd
to the file you just downloaded and run tar -C /usr/local/bin -xzf downloaded-file-name
. Use sudo if required.jwtui
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]
Press ?
while running the app to see keybindings
Arguments: [TOKEN] JWT token to decode [mandatory for stdout mode, optional for TUI mode]
Options:
-S, --secret <SECRET>
Secret for validating the JWT. Can be text, file path (beginning with @) or base64 encoded string (beginning with b64:) [default: ]-s, --stdout
Print to STDOUT instead of starting the CLI in TUI mode-n, --no-verify
Do not validate the signature of the JWT when printing to STDOUT.-j, --json
Print to STDOUT as JSON-t, --tick-rate <TICK_RATE>
Set the tick rate (milliseconds): the lower the number the higher the FPS. Must be less than 1000 [default: 250]-h, --help
Print help-V, --version
Print versionIf you are looking for a non TUI CLI, check out jwt-cli
Note: On Debian/Ubuntu you might need to install
libxcb-xfixes0-dev
andlibxcb-shape0-dev
. On Fedoralibxcb
andlibxcb-devel
would be needed.
Note: On Linux you might need to have package
xorg-dev
(Debian/Ubuntu) orxorg-x11-server-devel
(Fedora) or equivalent installed for the copy to clipboard features to work
aarch64
and arm
machines.MIT
Cargo.toml
CHANGELOG.md
make release V=vx.x.x
to release a new version via GitHub actions