05_authentication_requirements/
05_authentication_requirements.rs1use localauthentication::prelude::*;
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let default_requirement = LAAuthenticationRequirement::default_requirement()?;
5 let biometry_requirement = LAAuthenticationRequirement::biometry_requirement()?;
6 let current_set_requirement = LAAuthenticationRequirement::biometry_current_set_requirement()?;
7 let fallback = LABiometryFallbackRequirement::device_passcode_requirement()?;
8 let fallback_requirement =
9 LAAuthenticationRequirement::biometry_requirement_with_fallback(&fallback)?;
10
11 let rights = [
12 LARight::new_with_requirement(&default_requirement)?,
13 LARight::new_with_requirement(&biometry_requirement)?,
14 LARight::new_with_requirement(¤t_set_requirement)?,
15 LARight::new_with_requirement(&fallback_requirement)?,
16 ];
17
18 for (index, right) in rights.iter().enumerate() {
19 println!("right {index} state: {:?}", right.state()?);
20 println!("right {index} preflight: {:?}", right.check_can_authorize());
21 }
22
23 println!("✅ authentication requirements OK");
24 Ok(())
25}