Skip to main content

biscuit_ssh_core/
lib.rs

1//! Authorization core of biscuit-ssh, shared by the certificate issuer, the
2//! bastion and the client.
3//!
4//! A Biscuit token grants `right(server, user)` facts and may carry checks
5//! restricting how they are used. The [`Verifier`] describes each access
6//! attempt with facts (time, source address, target, command, SSH key) and
7//! lets the token's checks and the verifier policies decide. The fact names
8//! form a public contract documented in [`vocabulary`].
9
10#![warn(missing_docs)]
11
12#[cfg(feature = "api")]
13pub mod api;
14pub mod bastion_login;
15mod error;
16mod net;
17mod request;
18mod revocation;
19mod token;
20mod verifier;
21pub mod vocabulary;
22
23pub use biscuit_auth::{KeyPair, PrivateKey, PublicKey};
24pub use error::Error;
25pub use net::Network;
26pub use request::{AccessRequest, Command, Mode, Name};
27pub use revocation::RevocationList;
28pub use token::{BlockInfo, attenuate, granted_rights, inspect, mint};
29pub use verifier::{Authorization, DEFAULT_POLICY, MAX_LIFETIME, MAX_TOKEN_LEN, Verifier, failed_checks};
30pub use vocabulary::{Restriction, Right};