docs.rs failed to build robius-authentication-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
robius-authentication
Rust abstractions for multi-platform native authentication.
This crate supports:
- Apple: TouchID, FaceID, and regular username/password on both macOS and iOS.
- Android: See below for additional steps.
- Requires the
USE_BIOMETRIC
permission in your app's manifest.
- Requires the
- Windows: Windows Hello (face recognition, fingerprint, PIN), plus winrt-based fallback for username/password.
- Linux:
polkit
-based authentication using the desktop environment's prompt.- Note: Linux support is currently incomplete.
Usage on Android
For authentication to work, the following must be added to your app's
AndroidManifest.xml
:
Example
use robius_authentication::{
AndroidText, BiometricStrength, Context, Policy, PolicyBuilder, Text, WindowsText,
};
let policy: Policy = PolicyBuilder::new()
.biometrics(Some(BiometricStrength::Strong))
.password(true)
.watch(true)
.build()
.unwrap();
let text = Text {
android: AndroidText {
title: "Title",
subtitle: None,
description: None,
},
apple: "authenticate",
windows: WindowsText::new("Title", "Description"),
};
let auth_result = Context::new(()).blocking_authenticate(text, &policy);
...
For more details about the prompt text, see the Text
struct,
which allows you to customize the prompt for each platform.