A command line tool to decode, sign and verify JWTs.
I created this tool to help me learn more about JWTs and to make it easier to decode, sign and verify JWTs. I also wanted to create a tool that I could use in my day to day work.
(Icon by GOWI)
To get a local copy up and running follow these simple steps.
Install the package globally with:
npm i -g jwterThen run the command to generate a secret:
jwter sign top_secret '{"name": "Jack"}'There are many subcommands which can be used to decode, sign and verify JWTs.
To decode a JWT, use the decode command:
jwter decode <token>It will then output the decoded JWT in the following format:
* Header:
{
"alg": "HS256",
"typ": "JWT"
}
* Payload:
{
"test": "test",
"iat": 1672777260
}To sign a JWT, use the sign command:
jwter sign <secret> <data>The secret should be a string and the data should be a JSON string.
There are many options that can be used with the sign command:
-aor--algorithm- The algorithm to use to sign the JWT. Defaults toHS256.-eor--expiresIn- The time in seconds until the token expires.-sor--sub- The subject of the token.-ior--iss- The issuer of the token.-audor--audience- The audience of the token.
Each one will be added to the payload of the JWT.
To verify a JWT, use the verify command:
jwter verify <secret> <token>The secret should be a string and the data should be a JSON string.
There are many options that can be used with the verify command. These options will be used to verify the JWT:
-dor--decode- Decodes the JWT after verifying it.-ieor--ignore-exp- Ignores the expiry of the JWT.-sor--sub- The subject of the token.-ior--iss- The issuer of the token.-aor--audience- The audience of the token.
For more help type:
jwter --helpSee the releases page for all releases and to download the binaries.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU General Public License v3.0 License. See LICENSE for more information.
Jack Humphries - me@jackhumphries.io
Project Link: https://github.com/JackHumphries9/jwter