我有一个经过身份验证的Blazor
WebAssembly
应用程序,我需要添加显示和下载包含敏感信息的文件的功能,因此无法添加到公共URL。
我尝试过使用Toolbelt.Blazor.HttpClientInterceptor来拦截JWT并将其添加到标头中。但他不拦截通过img
或iframe
标签中的src
属性进行的呼叫。
我还尝试过使用System.Net.Http.HttpClient
,手动将JWT令牌添加到标头中,并通过razor.cs
设置img
或iframe
src
。然而,这似乎大大降低了blazors在加载时的响应速度(即使是通过async
/await
完成的(。
我还希望能够添加文件的下载链接,对此我不确定如何使用httpclient实现这一点?
阅读以下链接;
基于令牌的身份验证图像URLS
建议的方法是创建一个匿名端点,以便使用GUID进行访问。但是,我不确定如何安全地生成GUID并检查其有效性?有什么nuget包可以帮助解决这种情况吗?
尝试使用Javascript Blob流式传输文件。可以创建一个唯一的一次性临时url,这应该是一个安全的选项。