[package] name = "biscuit-auth" version = "5.0.0" description = "an authorization token with decentralized verification and offline attenuation" authors = ["Geoffroy Couprie "] edition = "2018" build = "build.rs" license = "Apache-2.0" documentation = "https://docs.rs/biscuit-auth" homepage = "https://github.com/biscuit-auth/biscuit" repository = "https://github.com/biscuit-auth/biscuit-rust" [features] default = ["regex-full", "datalog-macro"] regex-full = [ "regex/perf", "regex/unicode"] # used by cargo-c to signal the compilation of C bindings capi = ["inline-c"] wasm = ["wasm-bindgen", "getrandom/wasm-bindgen"] # used by biscuit-wasm to serialize errors to JSON serde-error = ["serde", "biscuit-parser/serde-error"] # used by biscuit-quote to parse datalog at compile-time datalog-macro = ["biscuit-quote"] # used to expose public key information in a standard format bwk = ["chrono", "serde"] docsrs = [] uuid = ["dep:uuid"] # used to expose pem/der loaders for keypairs pem = ["ed25519-dalek/pem"] [dependencies] rand_core = "^0.6" sha2 = "^0.9" prost = "0.10" prost-types = "0.10" regex = { version = "1.5", default-features = false, features = ["std"] } nom = {version = "7", default-features = false, features = ["std"] } hex = "0.4" zeroize = { version = "1", default-features = false } thiserror = "1" rand = { version = "0.8" } inline-c = { version = "0.1", optional = true } wasm-bindgen = { version = "0.2", optional = true } base64 = "0.13.0" ed25519-dalek = { version = "2.0.0", features = ["rand_core", "zeroize"] } serde = { version = "1.0.132", optional = true, features = ["derive"] } getrandom = { version = "0.1.16" } time = { version = "0.3.7", features = ["formatting", "parsing"] } uuid = { version = "1", optional = true } biscuit-parser = { version = "0.1.2", path = "../biscuit-parser" } biscuit-quote = { version = "0.2.2", optional = true, path = "../biscuit-quote" } chrono = { version = "0.4.26", optional = true, default-features = false, features = ["serde"] } [dev-dependencies] bencher = "0.1.5" rand = "0.8" chrono = { version = "0.4.26", features = ["serde", "clock"] } colored-diff = "0.2.3" prost-build = "0.10" serde = { version = "1.0.130", features = ["derive"] } serde_json = "1.0.67" codspeed-bencher-compat = "2.6.0" #[build-dependencies] #prost-build = "0.10" [package.metadata.capi.library] # Used as the library name and defaults to the crate name. This might get # prefixed with `lib` depending on the target platform. name = "biscuit_auth" include = [ "Cargo.toml", "cbindgen.toml", "build.rs", "examples/*.rs", "LICENSE", "README.md", "src/*.rs", "src/*/*.rs", "tests/*.rs" ] [[example]] name = "testcases" required-features = ["serde-error"] path = "examples/testcases.rs" [[bench]] name = "token" harness = false