Blazor ASP.NET Core,带有JWT身份验证签名的图像或文件URL



我有一个经过身份验证的BlazorWebAssembly应用程序,我需要添加显示和下载包含敏感信息的文件的功能,因此无法添加到公共URL。

我尝试过使用Toolbelt.Blazor.HttpClientInterceptor来拦截JWT并将其添加到标头中。但他不拦截通过imgiframe标签中的src属性进行的呼叫。

我还尝试过使用System.Net.Http.HttpClient,手动将JWT令牌添加到标头中,并通过razor.cs设置imgiframesrc。然而,这似乎大大降低了blazors在加载时的响应速度(即使是通过async/await完成的(。

我还希望能够添加文件的下载链接,对此我不确定如何使用httpclient实现这一点?

阅读以下链接;

基于令牌的身份验证图像URLS

建议的方法是创建一个匿名端点,以便使用GUID进行访问。但是,我不确定如何安全地生成GUID并检查其有效性?有什么nuget包可以帮助解决这种情况吗?

尝试使用Javascript Blob流式传输文件。可以创建一个唯一的一次性临时url,这应该是一个安全的选项。

相关内容

  • 没有找到相关文章

最新更新