首页 > 解决方案 > 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.
}

标签: xamarinxamarin.formsxamarin.essentials

解决方案


推荐阅读