Files
SteamTools/System.Common.ClientLib/Security/ClientStorage.cs
T
Aigio Liu 687f2d2433 security
2021-03-08 13:43:50 +08:00

34 lines
902 B
C#

using System.Threading.Tasks;
using Xamarin.Essentials;
namespace System.Security
{
/// <summary>
/// https://docs.microsoft.com/zh-cn/xamarin/essentials/secure-storage
/// </summary>
internal sealed class ClientStorage : IStorage
{
bool IStorage.IsNativeSupportedBytes => false;
Task<string?> IStorage.GetAsync(string key)
{
return SecureStorage.GetAsync(key);
}
Task IStorage.SetAsync(string key, string? value)
{
if (string.IsNullOrEmpty(value))
{
SecureStorage.Remove(key);
return Task.CompletedTask;
}
return SecureStorage.SetAsync(key, value);
}
Task<bool> IStorage.RemoveAsync(string key)
{
var result = SecureStorage.Remove(key);
return Task.FromResult(result);
}
}
}