1 个不稳定版本
0.1.0 | 2024年6月12日 |
---|
#297 in 操作系统
320KB
1K SLoC
robius-authentication
Rust的多平台原生身份验证抽象。
此包支持
- Apple:TouchID、FaceID,以及在macOS和iOS上的常规用户名/密码。
- Android:请见下文以获取额外步骤。
- 您的应用清单需要具有
USE_BIOMETRIC
权限。
- 您的应用清单需要具有
- Windows:Windows Hello(面部识别、指纹、PIN),以及基于winrt的回退用户名/密码。
- Linux:使用桌面环境的提示进行的基于
polkit
的认证。- 注意:Linux支持目前尚不完整。
Android上的使用
为了使身份验证工作,以下内容必须添加到您的应用的AndroidManifest.xml
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
示例
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);
...
有关提示文本的更多详细信息,请参阅Text
结构,它允许您为每个平台自定义提示。
依赖关系
~0–45MB
~642K SLoC