Skip to main content

openauth_saml/
lib.rs

1//! SAML 2.0 service-provider support for OpenAuth enterprise SSO.
2//!
3//! Signed and encrypted SAML paths fail closed until a dedicated verification
4//! backend is enabled behind an explicit feature.
5
6pub mod options;
7
8#[path = "saml/mod.rs"]
9mod saml_impl;
10
11pub mod assertions {
12    pub use crate::saml_impl::assertions::*;
13}
14
15pub mod authn_request {
16    pub use crate::saml_impl::authn_request::*;
17}
18
19pub mod encryption {
20    pub use crate::saml_impl::encryption::*;
21}
22
23pub mod logout {
24    pub use crate::saml_impl::logout::*;
25}
26
27pub mod metadata {
28    pub use crate::saml_impl::metadata::*;
29}
30
31pub mod security {
32    pub use crate::saml_impl::security::*;
33}
34
35pub mod signature {
36    pub use crate::saml_impl::signature::*;
37}
38
39pub mod state {
40    pub use crate::saml_impl::state::*;
41}
42
43pub mod xml {
44    pub use crate::saml_impl::xml::*;
45}
46
47pub use options::{
48    SamlConfig, SamlIdpMetadata, SamlMapping, SamlProviderConfig, SamlService, SamlSpMetadata,
49};
50pub use saml_impl::{
51    collect_saml_runtime_algorithms, validate_saml_config_algorithms,
52    validate_saml_config_algorithms_with_policy, validate_saml_runtime_algorithms,
53    validate_saml_timestamp, DataEncryptionAlgorithm, DeprecatedAlgorithmBehavior, DigestAlgorithm,
54    KeyEncryptionAlgorithm, SamlConditions, SamlRuntimeAlgorithmPolicy, SamlRuntimeAlgorithms,
55    SamlSecurityError, SignatureAlgorithm, TimestampValidationOptions,
56};
57
58/// Public signature policy placeholder for future backend selection.
59pub type SamlSignaturePolicy<'a> = SamlRuntimeAlgorithmPolicy<'a>;
60/// Public parsed assertion type.
61pub type SamlAssertion = assertions::ParsedSamlAssertion;
62/// Public logout state identifier type.
63pub type SamlLogoutState = String;
64/// Public SAML error type for security validation failures.
65pub type SamlError = SamlSecurityError;
66
67/// Current crate version.
68pub const VERSION: &str = env!("CARGO_PKG_VERSION");