因此,我尝试看看是否可以支持 C# 守护程序应用程序可以访问受 MSAL.NET 和 OAuth2 范围保护的自定义 Web API 的场景。截至目前,我看不出有什么办法可以做到这一点。
库和工具集的版本是:
.NET Core 2.2 Microsoft.Identity.Client 4.1.0
客户是
var app = ConfidentialClientApplicationBuilder.Create("<client app id>") .WithClientSecret("<client_secret>") .WithAuthority("https://login.microsoftonline.com/<tenant_id_that_hosts_the_web_api>") .Build();
然后获取token
await app.AcquireTokenForClient(new string[] { "api://<app_id_of_the_web_api>/.default" });
此时,我确实获得了令牌,我可以使用该令牌调用使用 MSAL 和具有上述应用 ID 的 Azure 应用程序保护的自定义 Web API 端点。这不起作用,因为我在端点上有基于策略的授权,期望在 Azure AD 应用程序中定义特定的自定义范围。
问题是,如何配置客户端和 Azure AD,以便获得作为 Web API 声明传入的特定范围?
HUX布斯
吃鸡游戏
相关分类