diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f0864f8 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + + + +## [Unreleased] + +## [0.2.0] - 2022-06-11 +### Added +- Json Web Token + +## [0.1.0] - 2022-06-11 +### Added +- Sha1, Sha256, Sha512 hasher + + +[Unreleased]: https://github.com/MedzikUser/imgurs/compare/v0.2.0...HEAD +[0.2.0]: https://github.com/MedzikUser/imgurs/commits/v0.2.0 +[0.1.0]: https://github.com/MedzikUser/imgurs/commits/v0.1.0 diff --git a/src/jsonwebtoken.rs b/src/jsonwebtoken.rs index 28aa067..84c6f5f 100644 --- a/src/jsonwebtoken.rs +++ b/src/jsonwebtoken.rs @@ -1,10 +1,31 @@ +//! Module for creating and decoding json web token. +//! +//! **Required `jwt` feature!** +//! +//! Examples: +//! ``` +//! use crypto_utils::jsonwebtoken::{Claims, Token}; +//! +//! let secret = b"secret"; +//! let user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; +//! +//! // create claims +//! let claims = Claims::new(user_id, 24); +//! +//! // create token +//! let token = Token::new(secret, claims).unwrap(); +//! +//! // decode token +//! let decoded = Token::decode(secret, token.encoded).unwrap(); +//! ``` + use chrono::{Duration, Utc}; use jsonwebtoken::{ errors::Error, Algorithm, DecodingKey, EncodingKey, Header, TokenData, Validation, }; use serde::{Deserialize, Serialize}; -/// Json Web Token Claims +/// Token Claims #[derive(Debug, Serialize, Deserialize, Clone)] pub struct Claims { /// Token value diff --git a/src/lib.rs b/src/lib.rs index 6c0abaa..906da5f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -61,6 +61,7 @@ //! ``` //! use crypto_utils::jsonwebtoken::{Claims, Token}; //! +//! let secret = b"secret"; //! let user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; //! //! // create claims