Skip to main content

cheers_verify/
lib.rs

1//! # cheers-verify — the edge-safe, verify-only surface
2//!
3//! The verify half of edge-verifiable auth (R019). Everything here can *check* a
4//! session but cannot *create* one:
5//!
6//! - [`PasetoV4PublicVerifier`] — PASETO v4.public (Ed25519) verification with a
7//!   public key alone. The only [`TokenVerifier`](cheers_core::TokenVerifier) that
8//!   cannot also mint (the symmetric codecs in `cheers-server` impl both halves).
9//! - [`RevocationReader`] — the read side of the revocation split: a point
10//!   membership check against an eventually-consistent replica (CF KV / gossip).
11//! - [`EdgeVerifier`] — the facade a CF Worker holds: verify a token, then check
12//!   it hasn't been revoked. It takes a `TokenVerifier`, so there is *no code
13//!   path to mint* — that absence is what makes shipping it to the edge safe.
14//!
15//! This crate depends on `cheers-core` and `pasetors`, but on **no minter**.
16//! `cheers-server` depends on this crate, never the reverse — that single
17//! direction is what guarantees a verify-only consumer has no minter in its
18//! dependency graph.
19
20pub mod edge;
21pub mod public_verifier;
22pub mod revocation;
23
24pub use edge::EdgeVerifier;
25pub use public_verifier::{codec_err, PasetoV4PublicVerifier};
26pub use revocation::RevocationReader;