jsonwebtoken-ic 10.2.0-ic.1

A fork of jsonwebtoken for the Internet Computer.
Documentation
[package]
name = "jsonwebtoken-ic"
version = "10.2.0-ic.1"
authors = ["Vincent Prouillet <hello@vincentprouillet.com>", "David Dal Busco <david@fluster.io>"]
license = "MIT"
readme = "README.md"
description = "A fork of jsonwebtoken for the Internet Computer."
homepage = "https://github.com/peterpeterparker/jsonwebtoken-ic"
repository = "https://github.com/peterpeterparker/jsonwebtoken-ic"
documentation = "https://docs.rs/jsonwebtoken-ic"
keywords = ["jwt", "api", "token", "jwk"]
edition = "2024"
include = [
    "src/**/*",
    "benches/**/*",
    "tests/**/*",
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
]
rust-version = "1.85.0"

[lib]
name = "jsonwebtoken"

[package.metadata.docs.rs]
features = ["rust_crypto"]

[dependencies]
base64 = "0.22"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
signature = { version = "2.2.0", features = ["std"] }

# For PEM decoding
pem = { version = "3", optional = true }
simple_asn1 = { version = "0.6", optional = true }

# "aws_lc_rs" feature
aws-lc-rs = { version = "1.10.0", optional = true }

# "rust_crypto" feature
ed25519-dalek = { version = "2.1.1", optional = true, features = ["pkcs8"] }
hmac = { version = "0.12.1", optional = true }
p256 = { version = "0.13.2", optional = true, features = ["ecdsa"] }
p384 = { version = "0.13.0", optional = true, features = ["ecdsa"] }
rand = { version = "0.8.5", optional = true, features = ["std"], default-features = false }
rsa = { version = "0.9.6", optional = true }
sha2 = { version = "0.10.7", optional = true, features = ["oid"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
ic-cdk = "0.19.0"
getrandom = "0.2"

[dev-dependencies]
wasm-bindgen-test = "0.3.1"
ed25519-dalek = { version = "2.1.1", features = ["pkcs8", "rand_core"] }
rand = { version = "0.8.5", features = ["std"], default-features = false }
rand_core = "0.6.4"
[target.'cfg(not(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi")))))'.dev-dependencies]
# For the custom time example
time = "0.3"
criterion = "0.4"

[target.'cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))'.dev-dependencies]
# For the custom time example
time = { version = "0.3", features = ["wasm-bindgen"] }
criterion = { version = "0.4", default-features = false }

[features]
default = ["use_pem", "rust_crypto"]
use_pem = ["pem", "simple_asn1"]
rust_crypto = ["ed25519-dalek", "hmac", "p256", "p384", "rand", "rsa", "sha2"]
aws_lc_rs = ["aws-lc-rs"]

[[bench]]
name = "jwt"
harness = false

[badges]
maintenance = { status = "passively-maintained" }