Skip to main content

localauthentication/
lib.rs

1#![doc = include_str!("../README.md")]
2//!
3//! ---
4//!
5//! # API documentation
6//!
7//! Safe Rust bindings for Apple's `LocalAuthentication.framework` on macOS.
8
9#![cfg_attr(docsrs, feature(doc_cfg))]
10
11pub mod context;
12pub mod error;
13pub mod ffi;
14pub mod la_authentication_requirement;
15pub mod la_context;
16pub mod la_credential;
17pub mod la_environment;
18pub mod la_error;
19pub mod la_persisted_right;
20pub mod la_policy;
21pub mod la_public_key;
22pub mod la_right;
23pub mod la_right_store;
24mod private;
25
26pub use la_authentication_requirement::{
27    LAAuthenticationRequirement, LABiometryFallbackRequirement,
28};
29pub use la_context::{
30    BiometryType, LAAccessControlOperation, LACompanionType, LAContext, LADomainState,
31    LADomainStateBiometry, LADomainStateCompanion,
32};
33pub use la_credential::{LACredential, LACredentialType};
34pub use la_environment::{
35    LAEnvironment, LAEnvironmentMechanism, LAEnvironmentMechanismBiometry,
36    LAEnvironmentMechanismCompanion, LAEnvironmentMechanismUserPassword,
37    LAEnvironmentObserver, LAEnvironmentObserverRegistration, LAEnvironmentState,
38};
39pub use la_error::{LAError, LocalAuthenticationError, Result, LA_ERROR_DOMAIN};
40pub use la_persisted_right::{LAPersistedRight, LAPrivateKey, LASecret};
41pub use la_policy::{LAPolicy, Policy};
42pub use la_public_key::{LAPublicKey, SecKeyAlgorithm, SecKeyExchangeParameters};
43pub use la_right::{LARight, LARightState};
44pub use la_right_store::LARightStore;
45
46/// Common imports for users of this crate.
47pub mod prelude {
48    pub use crate::la_authentication_requirement::{
49        LAAuthenticationRequirement, LABiometryFallbackRequirement,
50    };
51    pub use crate::la_context::{
52        BiometryType, LAAccessControlOperation, LACompanionType, LAContext, LADomainState,
53        LADomainStateBiometry, LADomainStateCompanion,
54    };
55    pub use crate::la_credential::{LACredential, LACredentialType};
56    pub use crate::la_environment::{
57        LAEnvironment, LAEnvironmentMechanism, LAEnvironmentMechanismBiometry,
58        LAEnvironmentMechanismCompanion, LAEnvironmentMechanismUserPassword,
59        LAEnvironmentObserver, LAEnvironmentObserverRegistration, LAEnvironmentState,
60    };
61    pub use crate::la_error::{LAError, LocalAuthenticationError, Result, LA_ERROR_DOMAIN};
62    pub use crate::la_persisted_right::{LAPersistedRight, LAPrivateKey, LASecret};
63    pub use crate::la_policy::{LAPolicy, Policy};
64    pub use crate::la_public_key::{LAPublicKey, SecKeyAlgorithm, SecKeyExchangeParameters};
65    pub use crate::la_right::{LARight, LARightState};
66    pub use crate::la_right_store::LARightStore;
67}