xamarin - Xamarin Essentials 安全存储 - 可能需要用户身份验证?
问题描述
我有一个适用于 Android 和 iOS 的 Xamarin Forms 5 应用程序。
我使用易于使用的出色 Xamarin Essentials 安全存储。它利用平台特定的方式安全地存储资源 - Android:Keystore / 共享首选项,iOS:Keychain。
https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage
在原生 Android 和 iOS 上,您可以指定只有在用户通过设备身份验证(pincode/biometri)时才能访问资源。即,如果用户在设备上没有任何设备锁,则无法访问该资源。我还可以看到,可以通过 Xamarin.iOS 设置一个可访问的枚举来指定它
https://docs.microsoft.com/en-us/dotnet/api/security.secaccessible?view=xamarin-ios-sdk-12
但是我在 Xamarin Essentials 安全存储中找不到任何句柄来指定是否只能通过身份验证访问资源。我是否遗漏了什么,或者如果不手动执行特定于平台的实现,这在 Xamarin 中是不可能的吗?
我的梦想场景是这样的
try
{
await SecureStorage.SetAsync("oauth_token", "secret-oauth-token-value", SecAccessible.WhenPasscodeSetThisDeviceOnly);
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}
解决方案
推荐阅读
- algorithm - 可以使用二项式堆来查找图中的连通分量吗?
- c++ - 告诉 CMake 在自定义文件夹中链接到 Boost
- python - 将 CSV 导入导出数据库
- python-3.x - python中的AWS cloudformation包
- scala - 我的 scala 案例类函数没有按预期抛出异常错误
- amazon-web-services - 使用 EKS 集群创建 AWS ALB 入口时 Terraform 拨号 tcp dns 错误
- puppeteer - 尝试单击按钮但对我不起作用
- spring-boot - 部署到 AKS 时未更新 Swagger UI
- python - 如何从字典列表中访问嵌套字典
- c# - 提供空间的路径作为参数在 C# 中引发错误