paseto 0.5.0

An alternative token format to JWT

Paseto Rust

Paseto is everything you love about JOSE (JWT, JWE, JWS) without any of the many design deficits that plague the JOSE standards. This is directly adapted from the reference implemenation made by paragon-ie, which can be found: HERE.

NOTE: The license of the original paseto implementation is ISC which is functionally equivelant to MIT, but located: HERE

What is Paseto?

Paseto (Platform-Agnostic SEcurity TOkens) is a specification and reference implementation for secure stateless tokens. You can find a lot of info about the motivation + benifits of using paseto inside the original paseto repo: HERE.


Simply add this crate to your Cargo.toml file:

paseto = "0.5"

and then in your crate root:

extern crate paseto;

NOTE: You will need to have a modern version of libsodium when building with version 2 support, or export the env var: SODIUM_BUILD_STATIC=yes, and SODIUM_STATIC=yes


The examples/ directory covers the following use cases:

  1. Using the protocol directly to encode potentially non-json data.
  2. Using the public builder interface to build a JWT esque equivelant json payload with shared key encryption.
  3. Using the public buidler interface to build a JWT esque equivelant json payload with public key signing.