我有一个服务器端Blazor应用程序,在受AAD身份验证保护的Azure AppService上运行。授权的AD用户(管理员)可以访问和使用该应用。
我想要实现的是允许其他用户仅访问Blazor应用程序的特定页面。用户将从WPF应用程序访问该应用程序,他们本身不一定是AD用户,而是AD应用程序用户(守护程序应用程序)。 WPF应用程序获取令牌(v2.0),并在带有授权标头(承载令牌)的浏览器中打开页面,但是Blazor不会在请求中解释auth标头,并威胁用户为未认证身份。 应用注册应该已经正确设置,因为使用这种方法我可以访问API。
这种情况可能吗?如果是这样,我有什么想法可能做错了吗?
答案 0 :(得分:0)
这种情况听起来似乎违反了一般性建议。
您实际上不应该从WPF应用程序执行“守护程序应用程序”身份验证,因为它不是机密的客户端应用程序(也不是守护程序应用程序)。它在用户设备上运行,将应用程序的凭据公开给任何用户。 不得从用户设备使用使用机密的身份验证流。
第二,Blazor应用程序通常不能接受来自应用程序的请求。 您的WPF应用程序应该调用API,而不是UI应用程序。
您应该拥有的是:
Blazor应用程序可能以相似的方式在其前端代码中使用了相同的API。 但我认为您无法将其放在客户端应用程序和API的中间。