04_credentials/
04_credentials.rs1use localauthentication::prelude::*;
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let context = LAContext::new()?;
5 let password = LACredential::application_password(b"p@ssword".to_vec());
6 let pin = LACredential::smart_card_pin(b"123456".to_vec());
7
8 assert!(context.set_credential(&password)?);
9 assert!(context.is_credential_set(LACredentialType::ApplicationPassword)?);
10 assert!(context.clear_credential(LACredentialType::ApplicationPassword)?);
11
12 assert!(context.set_credential(&pin)?);
13 assert!(context.is_credential_set(LACredentialType::SmartCardPin)?);
14 assert!(context.clear_credential(LACredentialType::SmartCardPin)?);
15
16 println!("password bytes: {}", password.bytes().len());
17 println!("pin bytes: {}", pin.bytes().len());
18 println!("✅ credential round-trip OK");
19 Ok(())
20}