A simple Json Web Token crate. The crate let's you create, sign, verify and extract data from
JWT tokens. Data is serialized with serde
and serde_json
.
Extract the payload from a JWT token if the token is valid. ```rust
struct TestPayload { is_admin: bool, name: String, age: u8, }
const SECRET: &'static str = "This is a very secret secret";
let tokenstr = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc19hZG1pbiI6dHJ1ZSwibmFtZSI6IkpvaG4gRG9lIiwiYWdlIjoxOH0.0mV5XVAmarscyZEwl8PoX4vqVnJCZSVJRsgnSJTo94";
let token = Token::fromstr(tokenstr)?;
// payload is Ok(Some(<payload>))
let payload = token.getifvalid::
It's also possible to create and sign a new token: ```rust const SECRET: &'static str = "This is a very secret secret";
struct TestPayload { isadmin: bool, name: String, age: u8, } let payload = TestPayload { isadmin: true, name: String::from("John Doe"), age: 18 }; let token = Token::try_new(Algorithm::HS256, payload, SECRET).unwrap(); println!("{}", token); // Convert the token to a string. ```