json-web-tolkien 0.2.0

A ser(de) for JWTs, JWS and the basic structs for representing them.
Documentation
//! Deserialization/Serialization of JWS for JWT.
//!
//! This crate provides structs and ser(de) for json web tokens and
//! json web signatures.
//!
//! It does not supply signature verification, this allows you to choose
//! and maintain the specific algorithm libraries that handle signature
//! verification.
//!
//! # Example
//!
//! ```rust
//!
//! use json_web_token::prelude::*;
//! use serde::Deserialize;
//! use serde::de::{value, IntoDeserializer};
//! use std::borrow::Cow;
//!
//! type Token = Jwt<Claims, Header>;
//!
//! #[derive(Deserialize)]
//! struct Header {
//!     #[serde(alias = "alg")]
//!     algorithm: Algorithm
//! }
//!
//! #[derive(Deserialize)]
//! pub struct Claims {
//!     #[serde(alias = "sub")]
//!     user_id: String,
//! }
//!
//! fn decode(input: &str) -> Result<(Jws, Token), value::Error> {
//!
//!     let jws : Jws;
//!     let jwt : Token;
//!
//!     {
//!         let de = input.into_deserializer();
//!         jws = Jws::deserialize(de)?;
//!     }
//!
//!     {
//!         let encoded_token : Cow<str> = jws.encoded_token();
//!         let de = encoded_token.as_ref().into_deserializer();
//!
//!         jwt = Token::deserialize(de)?;
//!     }
//!
//!     Ok((jws, jwt))
//! }
//!
//! let valid_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30";
//!
//! let (jws, jwt) = decode(&valid_token).unwrap();
//!
//! let signature : Cow<[u8]> = jws.signature();
//!
//! let claims : &Claims = jwt.claims();
//! let header : &Header = jwt.header();
//! ```

pub mod algorithm;
pub mod error;
pub mod jws;
pub mod jwt;
pub mod numeric_date;
pub mod ser;
pub mod util;

pub mod prelude {
    pub use crate::{algorithm::Algorithm, jws::Jws, jwt::Jwt, numeric_date::NumericDate};
}