# CJWT A Rust library for working with JSON Web Tokens (JWTs) and JSON Web Signatures (JWSs) [![Made With Love][made-with-rust]][6] [![Crates.io][crates-badge]][8] [![Lib.rs][libs-badge]][10] [![Docs.rs][docs-badge]][9] [![License][license-badge]][2] ![divider][divider] ## Welcome to CJWT 👋 ![CJWT Banner][banner]
**[Website][0] â€ĸ [Documentation][9] â€ĸ [Report Bug][3] â€ĸ [Request Feature][3] â€ĸ [Contributing Guidelines][4]**
## Overview 📖 The Core JWT (CJWT) is a struct with a JWT token and claims. It has functions for working with JSON Web Tokens (JWTs) and JSON Web Signatures (JWSs). JWTs have three parts: a header, a payload, and a signature. The header and payload are JSON objects. They're serialized to UTF-8 bytes and encoded with base64url encoding. ## Features ✨ - [x] JWT token generation - [x] JWT token validation - [x] JWT token signing ## Installation đŸ“Ļ It takes just a few minutes to get up and running with `cjwt`. ### Requirements `cjwt` requires Rust **1.67.0** or later. ### Documentation > ℹī¸ **Info:** Please check out our [website][0] for more information and find our documentation on [docs.rs][9], [lib.rs][10] and [crates.io][8]. ## Usage 📖 To use `cjwt` in your project, add the following to your `Cargo.toml` file: ```toml [dependencies] cjwt = "0.0.1" ``` Add the following to your `main.rs` file: ```rust extern crate cjwt; use cjwt::*; ``` then you can use the functions in your application code. ### Examples `CJWT` comes with a set of examples that you can use to get started. The examples are located in the `examples` directory of the project. To run the examples, clone the repository and run the following command in your terminal from the project root directory. ```shell cargo run --example cjwt ``` ## Semantic Versioning Policy đŸšĨ For transparency into our release cycle and in striving to maintain backward compatibility, `QRC` follows [semantic versioning][7]. ## License 📝 The project is licensed under the terms of both the MIT license and the Apache License (Version 2.0). - [Apache License, Version 2.0][1] - [MIT license][2] ## Contribution 🤝 Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. ![divider][divider] ## Acknowledgements 💙 A big thank you to all the awesome contributors of [Mini Functions][6] for their help and support. A special thank you goes to the [Rust Reddit](https://www.reddit.com/r/rust/) community for providing a lot of useful suggestions on how to improve this project. A special thank you goes to the [Rust Reddit](https://www.reddit.com/r/rust/) community for providing a lot of useful suggestions on how to improve this project. [0]: https://minifunctions.com [1]: http://www.apache.org/licenses/LICENSE-2.0 [2]: http://opensource.org/licenses/MIT [3]: https://github.com/sebastienrousseau/mini-functions/issues [4]: https://raw.githubusercontent.com/sebastienrousseau/mini-functions/main/.github/CONTRIBUTING.md [6]: https://github.com/sebastienrousseau/mini-functions/graphs/contributors [7]: http://semver.org/ [8]: https://crates.io/crates/cjwt [9]: https://docs.rs/cjwt [10]: https://lib.rs/crates/cjwt [banner]: https://raw.githubusercontent.com/sebastienrousseau/vault/main/assets/mini-functions/banners/banner-cjwt-1597x377.svg "CJWT Banner" [crates-badge]: https://img.shields.io/crates/v/cjwt.svg?style=for-the-badge 'Crates.io' [divider]: https://raw.githubusercontent.com/sebastienrousseau/vault/main/assets/elements/divider.svg "divider" [docs-badge]: https://img.shields.io/docsrs/cjwt.svg?style=for-the-badge 'Docs.rs' [libs-badge]: https://img.shields.io/badge/lib.rs-v0.0.1-orange.svg?style=for-the-badge 'Lib.rs' [license-badge]: https://img.shields.io/crates/l/cjwt.svg?style=for-the-badge 'License' [made-with-rust]: https://img.shields.io/badge/rust-f04041?style=for-the-badge&labelColor=c0282d&logo=rust 'Made With Rust'