asap 0.4.0

An implementation of ASAP for rust.
Documentation

ASAP for Rust

crates.io dependency status build status

Documentation.

This is a rust library for generating and validating ASAP tokens. It provides options for doing so that are compliant with the ASAP specification.

Why should you use this library?

  • Do you want to generate 1 ASAP token/millisecond?
  • Do you want to validate 5 ASAP tokens/millisecond?
  • Do you want to bring your own token Claims in whatever format you'd like?
  • Do you want/need to use ASAP with one of the greatest languages ever?

Basically, yes. Yes, you should use this library if you want ASAP and use Rust.

Usage

Installation

To install, add the following lines to your Cargo.toml:

asap = "<latest-version-from-crates.io>"
# These crates are required for defining your own `Claims` struct which needs
# to be serialised into the token (and deserialised out of it).
serde_derive = "1"
serde = "1"

Documentation

And see the documentation and API which should be straightforward enough for anything you'd need.

Development/Testing

Currently, running the tests has some limitations:

  • The tests need a local keyserver running at http://localhost:8000
  • The tests need to be run serially
    • Since they also test that requests were made to the keyserver, etc.

To run the tests, perform the following:

# Runs a simple keyserver.
cargo run -p keyserver

# In a different shell, run the tests with the following command:
./support/test.sh

References

License

MIT