hessra_token_core/
lib.rs

1//! # Hessra Token Core
2//!
3//! Core utilities and types shared across Hessra token implementations.
4//!
5//! This crate provides common functionality used by both authorization tokens
6//! and identity tokens, including:
7//!
8//! - Token encoding/decoding utilities
9//! - Time configuration for token validity
10//! - Common error types
11//! - Token classification and analysis
12//! - Biscuit type re-exports
13
14pub mod classifier;
15pub mod error;
16pub mod revocation;
17pub mod rule_parser;
18pub mod time;
19pub mod utils;
20
21pub use classifier::{
22    classify_token, BlockMetadata, BlockType, TokenClassification, TokenStructure, TokenType,
23};
24pub use error::{CheckFailure, ServiceChainFailure, TokenError};
25pub use revocation::{
26    get_authority_revocation_id, get_block_revocation_id, get_revocation_ids, RevocationId,
27};
28pub use rule_parser::{parse_authorization_failure, parse_check_failure};
29pub use time::TokenTimeConfig;
30pub use utils::{decode_token, encode_token, parse_token, public_key_from_pem_file};
31
32// Re-export biscuit types that are needed for public API
33pub use biscuit_auth::{Biscuit, KeyPair, PublicKey};