uselesskey-jwk 0.7.1

Typed JWK/JWKS models, builders, ordering, and negative fixtures.
Documentation

uselesskey-jwk

Typed JWK/JWKS models, deterministic JWKS builders, ordering helpers, and scanner-safe negative JWK fixtures used by uselesskey fixture crates.

This is the canonical public JWK/JWKS crate. The former uselesskey-core-jwk* implementation crates are compatibility shims; new downstream code should import JWK types and JwksBuilder from uselesskey-jwk.

Example

use uselesskey_jwk::{JwksBuilder, OctJwk, PrivateJwk};

let mut builder = JwksBuilder::new();
builder.push_private(PrivateJwk::Oct(OctJwk {
    kty: "oct",
    use_: "sig",
    alg: "HS256",
    kid: "test-key-1".to_string(),
    k: "dGVzdF9zZWNyZXQ".to_string(),
}));

let jwks = builder.build();
assert_eq!(jwks.keys.len(), 1);

let duplicate = jwks.negative_value(uselesskey_jwk::NegativeJwks::DuplicateKey);
assert_eq!(duplicate["keys"].as_array().unwrap().len(), 2);

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

See the uselesskey crate for full documentation.