cheers-core 0.8.21

Contract surface for cheers — identity types, error hierarchy, CredentialStore, and the keyless TokenMinter/TokenVerifier traits. No crypto, no I/O.
Documentation

cheers-core

crates.io docs.rs License: MIT OR Apache-2.0

The keyless contract surface shared across the cheers auth stack: identity types, the typed error hierarchy, the CredentialStore trait, and the TokenMinter / TokenVerifier traits.

No crypto, no I/O, no async runtime dependency. This is the crate every other tier depends on — the mint/verify machinery (and everything that pulls pasetors / hmac / getrandom) lives in cheers-verify (verify-only) and cheers-server (mint + stores), never here.

[dependencies]
cheers-core = "0.8"

Why keyless

Splitting the contract from the crypto is what lets an untrusted edge take a verify-only dependency without any minter in its graph. cheers-core holds the shared vocabulary; cheers-verify implements the half that can only check; cheers-server implements the half that can mint. The dependency direction — server and verify both depend on core, and server depends on verify — is the security boundary.

Minimum supported Rust version

Rust 1.85.

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.