Blazor WASM并仅在经过认证时返回图像



我目前正在编写一个Blazor应用程序,该应用程序使用Azure B2C进行身份验证,并使用。net Web Api项目返回数据。关于Blazor应用程序,身份验证和返回/发布数据的一切都很好。

然而,我不确定只有在用户经过身份验证的情况下才能从Web Api返回图像的最佳方法。在以前的。net MVC应用程序中,我会使用通用处理程序,并简单地使用:

if(User.Identity.IsAuthenticated) { // return image code }

然后在页面上,我可以简单地输入像

这样的内容
<img src="/EmployeeImage?id=123" />.

这对我目前的设置不起作用,因为web api期望一个令牌来授权他们,所以我目前的想法是使用Http。返回要显示的图像数据。

在我去创建一个新的组件和添加http调用到web api等,所以我可以希望使用这个类似:

<ImageComponent Type="Employee" ID="123"></ImageComponent>

有没有更简单、更好的方法?

是和否。如果你想在header"保证相同的"令牌方法:你需要使用一个组件来触发HTTP post,并检查web API控制器上的授权级别。

但是你也可以使用"mixed"方法将访问令牌附加在查询字符串中作为参数。一旦你在你的web api控制器中有了访问令牌,你就可以根据你的身份验证提供者来验证它。我在各种情况下使用这种混合模式方法。

最新更新