我正在寻找在 blazor webassembly 应用程序中安全存储应用程序机密的方法。我们可以在下面的 MSDN 文档中找到服务器端应用程序的详细信息。
https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-3.1&tabs=windows
我们如何将这些秘密用于完全在客户端浏览器中运行的 Blazor WebAssembly 应用程序?
我的基本场景是,需要将密码、产品密钥(许可密钥)信息保留在应用程序代码之外。例如,我们在 Program.cs 的静态 main 方法中加载许可证。
https://i.stack.imgur.com/kCrV1.png
public class Program
{
public static async Task Main(string[] args)
{
//want to access the product key here and need to avoid hardcoding
SomeThirdPartyLibrary.RegisterLicense("product-key");
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
await builder.Build().RunAsync();
}
我在 blazor 的文档中进行了搜索,但找不到任何详细信息。请帮助我在 Blazor webassembly 中找到解决此问题的推荐方法。
(对于服务器端,我们有多种选择,但对于客户端,可能是推荐的方式)