[][src]Module jwtinfo::jwt

JWT

jwt is a collection of utilities to parse JWTs (Json Web Tokens)

Examples

To parse a given JWT as a string:

use jwtinfo::{jwt};

let token_str = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
match jwt::parse(token_str) {
  Ok(token) => {
    // do something with token
    assert_eq!(token.header.to_string(), "{\"alg\":\"HS256\",\"typ\":\"JWT\"}");
    assert_eq!(token.body.to_string(), "{\"iat\":1516239022,\"name\":\"John Doe\",\"sub\":\"1234567890\"}");
  }
  Err(e) => panic!(e)
}

Since jwt::Token implements str::FromStr, you can also do the following:

use jwtinfo::{jwt};

let token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c".parse::<jwt::Token>().unwrap();
assert_eq!(token.header.to_string(), "{\"alg\":\"HS256\",\"typ\":\"JWT\"}");
assert_eq!(token.body.to_string(), "{\"iat\":1516239022,\"name\":\"John Doe\",\"sub\":\"1234567890\"}");

Structs

Token

Represents a JWT, composed by a header, a body and a signature

Enums

JWTParseError

Represents an error while parsing a JWT

JWTParsePartError

Represents an error while parsing a given part of a JWT

Functions

parse

Parses a token from a string