jwter
v1.1.0
Published
A command line tool to decode, sign and verify JWTs
Downloads
5
Maintainers
Readme
Table of Contents
About The Project
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)
Built With
Getting Started
To get a local copy up and running follow these simple steps.
Install the package globally with:
npm i -g jwter
Then run the command to generate a secret:
jwter sign top_secret '{"name": "Jack"}'
Usage
There are many subcommands which can be used to decode, sign and verify JWTs.
Decode
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
}
Sign
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:
-a
or--algorithm
- The algorithm to use to sign the JWT. Defaults toHS256
.-e
or--expiresIn
- The time in seconds until the token expires.-s
or--sub
- The subject of the token.-i
or--iss
- The issuer of the token.-aud
or--audience
- The audience of the token.
Each one will be added to the payload of the JWT.
Verify
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:
-d
or--decode
- Decodes the JWT after verifying it.-ie
or--ignore-exp
- Ignores the expiry of the JWT.-s
or--sub
- The subject of the token.-i
or--iss
- The issuer of the token.-a
or--audience
- The audience of the token.
For more help type:
jwter --help
Releases
See the releases page for all releases and to download the binaries.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
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
License
Distributed under the GNU General Public License v3.0 License. See LICENSE
for more information.
Contact
Jack Humphries - [email protected]
Project Link: https://github.com/JackHumphries9/jwter