mod claims;
mod engine;
mod epoch_revocation;
mod error;
mod issue_config;
mod issue_error;
mod issue_request;
mod jwks;
mod key_set;
mod replay_defense;
mod session_revocation;
mod signing_key;
mod verify_config;
pub use crate::claims::Claims;
pub use crate::engine::{issue, verify};
pub use crate::epoch_revocation::{EpochRevocation, EpochRevocationError};
pub use crate::error::AuthError;
pub use crate::issue_config::IssueConfig;
pub use crate::issue_error::IssueError;
pub use crate::issue_request::IssueRequest;
pub use crate::jwks::{Jwk, Jwks, JwksError};
pub use crate::key_set::KeySet;
pub use crate::replay_defense::{ReplayDefense, ReplayDefenseError};
pub use crate::session_revocation::{SessionRevocation, SessionRevocationError};
pub use crate::signing_key::{ed25519_public_from_pem, SigningKey};
pub use crate::verify_config::{Algorithm, VerifyConfig};
pub const DEFAULT_ISSUER: &str = "accounts.ppoppo.com";
pub const SV_CACHE_TTL: std::time::Duration = std::time::Duration::from_secs(60);
#[must_use]
pub fn sv_cache_key(ppnum_id: &str) -> String {
format!("sv:{ppnum_id}")
}