authentication - 在 Xamarin Forms 中存储 key

标签 authentication xamarin.forms secret-key xamarin.auth app-secret

我尝试了解如何在 xamarin 表单项目中存储 secret 。

我有一个 Web api 核心作为后端,一个 xamarin 表单应用程序作为前端。

我正在尝试使用 Xamarin.Auth 编写 facebook 身份验证代码,并且我需要将 key 传递给我的应用程序..

我的想法:

  1. 存储在前端:我可以创建一个配置文件并对其进行加密,但解密将在我的源代码中,通过反编译和反射,黑客可以检索解密源代码并解密 key 。

2:存储在后端:我可以将 key 存储在后端,但通过嗅探发送的请求,黑客可以检索我的 key 。

那么解决办法是什么呢?我该怎么做?

谢谢

最佳答案

您可以使用 Xamarin.Essentials 存储您的 secret 。对于 Android,您的 secret 将存储在 Androids KeyStore 中并在Keychain内以 iOS 为例。即使您决定使用加密的配置文件,我也强烈建议您将 key 和 IV 存储在 SecureStorage 中,而不是将其硬编码到源代码中。它非常易于使用,而且与在移动设备上一样安全。

try
{
   // write secret
   await SecureStorage.SetAsync("oauth_token", "secret-oauth-token-value"); 

   // read secret
   var token = await SecureStorage.GetAsync("oauth_token");
}
catch(Exception ex)
{
} 

关于authentication - 在 Xamarin Forms 中存储 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775072/

相关文章:

linux - 如何在 CentOS 中不设置帐户就授予访问权限

authentication - 刷新访问 token ember

authentication - 如何配置 Apache HttpClient 4.x 以使用特定的 Websphere SSL 别名?

c# - Xamarin 空 CarouselView

xaml - 所有标签的自定义字体 Xamarin Forms

Java - 将字符串转换为 DES key

Java SecretKeyFactory生成的 key 与输入密码相同

ssl - 无法访问 Opencart 管理面板

c# - Xamarin - 清除 ListView 选择

android - 在 Android 应用程序中存储 key 的最佳方式