台式机应用程序打开受AD身份验证保护的服务器端Blazor页面

问题描述 投票:0回答:1

我有一个服务器端Blazor应用程序,在受AAD身份验证保护的Azure AppService上运行。授权的AD用户(管理员)可以访问和使用该应用程序。

我想要实现的是允许其他用户仅访问Blazor应用程序的特定页面。用户将从WPF应用程序访问该应用程序,他们本身不一定是AD用户,而是AD应用程序用户(守护程序app)。 WPF应用程序获取令牌(v2.0)并在带有授权标头(承载令牌)的浏览器中打开页面,但是Blazor不会在请求中解释auth标头,并威胁用户为未认证身份。应用注册应该已经正确设置,因为使用这种方法我可以访问API。

这种情况可能吗?如果是这样,有什么想法我可能做错了吗?

azure-active-directory blazor daemon adal blazor-server-side
1个回答
0
投票

这种情况听起来似乎违反了一般性建议。

您实际上不应该从WPF应用程序执行“守护程序应用程序”身份验证,因为它不是机密的客户端应用程序(也不是守护程序应用程序)。它在用户设备上运行,将应用程序的凭据公开给任何用户。切勿从用户设备使用使用机密的身份验证流。

第二,Blazor应用程序通常不能接受来自应用程序的请求。您的WPF应用程序应调用API,而不是UI应用程序。

您应该拥有的是:

  1. WPF应用验证用户身份并代表他们获取您的API的令牌
  2. WPF应用程序使用访问令牌调用API
  3. API验证访问令牌,授权用户和应用访问,返回数据

Blazor应用程序可能以相似的方式在其前端代码中使用了相同的API。但我认为您无法将其放在客户端应用程序和API的中间。

© www.soinside.com 2019 - 2024. All rights reserved.