gpt4 book ai didi

C#、Xamarin.Essentials 安全存储

转载 作者:行者123 更新时间:2023-11-30 23:02:25 25 4
gpt4 key购买 nike

在查看有关保存 JWT token 的选项后,我选择了 Xamarin.Essentials Secure Storage。

问题是我的应用程序在尝试在存储中保存 token 时总是中断并出现以下错误:

“已抛出 System.AggregateException”

详情如下:

“Xamarin.Essentials.NotImplementedInReferenceAssemblyException

此程序集的可移植版本中未实现此功能。您应该从主应用程序项目中引用 NuGet 包,以便引用特定于平台的实现。”

这显然意味着在安装 nuget 包时出了点问题,所以我:

  • 卸载并重新安装了 xamarin.essentials 包。
  • 将 .Netstandard 升级到 2.0,认为 1.6 不兼容。
  • 检查包是否在 csproj 文件中被引用。

等等,什么都没有。

现在,我有一个 TokenStorageController,其中包含以下代码行:

    public bool SaveToken(string token)
{
if(token != null)
{
Preferences.Set(key, token);

if(Preferences.ContainsKey(key))
{
return true;
}
}
return false;
}

调用 Controller 的 RestService 类如下所示:

        //await SecureStorage.SetAsync("oauth_token", "booommmmmm"); // changed to this simply to check if my controller was the problem
TokenStorageController tokenStorage = new TokenStorageController();
await tokenStorage.SaveToken("boommmmm"); // where I get an error

这里是发生错误的确切行:

      var loginTask = Task.Run(() => restService.LoginAsync(user)).Result;

如果没有解决方案,我将删除所有软件包并重新安装它们。逐个!我发誓我会做到的!如果根本没有解决方案,我会将 token 存储在 SQL 中,因为我已经有一个 Controller 可以这样做。

我是 Xamarin 和 C# 菜鸟,所以请多多包涵。

仅供引用:我正在使用 macOS 客户端进行测试,原因可能是 SecureStorage 不适用于 macOS 应用程序。

谢谢!

最佳答案

Xamarin.Mac 当前不支持平台,仅支持 iOS、Android、UWP。

可在以下位置查看代码:

关于C#、Xamarin.Essentials 安全存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50500885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com