Skip to main content

04_credentials/
04_credentials.rs

1use 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}