Skip to main content

solid_pod_rs/auth/
mod.rs

1//! Authentication modules.
2//!
3//! Phase 1 ships NIP-98 structural verification (tag layout,
4//! URL/method/payload match, timestamp tolerance). Schnorr signature
5//! verification is the `nip98-schnorr` feature on [`nip98`]. Sprint 11
6//! adds [`self_signed`] — the Controlled Identifier verifier abstraction
7//! (row 152) used to fan out across did:key, NIP-98, did:nostr, etc.
8
9pub mod nip98;
10pub mod self_signed;
11
12/// The `ReplayStore` seam (ADR-060 Decision 2): the single-use-nonce contract
13/// extracted from the reference cache so every tier consumes one named
14/// semantics rather than re-deriving replay handling. Carries no runtime
15/// dependency, so the pure-logic `core` surface (wasm32 / CF-Workers) can
16/// depend on it and supply its own implementor.
17pub mod replay_store;
18
19/// NIP-98 single-use replay guard (F3), the reference [`replay_store::ReplayStore`]
20/// implementor. Gated behind `nip98-replay`; the native single-process pod
21/// tier wires it into every request so a captured token cannot be replayed
22/// within the ~120s tolerance window.
23#[cfg(feature = "nip98-replay")]
24pub mod replay;
25
26#[cfg(feature = "lws-cid")]
27pub mod lws_cid;