如何以编程方式访问受 SSO 保护的 Web API?

How can I programatically access a web API that is secured with SSO?

我有一个包含少量 API 的 Web 应用程序。 Web 应用程序还有一个 HTML 页面,这些 API 用于呈现 UI。 Web 应用程序在内部托管,但使用 Microsoft Azure AD 身份验证进行保护。 我正在尝试构建一个 C# 控制台应用程序,它可以直接使用 API,而无需在浏览器上打开网站。 是否可以直接从 C# 控制台应用程序访问 Web API? 我了解当使用浏览器访问 SSO 内容时,它将管理身份验证过程。但是我不知道如何从 C# 应用程序中做到这一点。 Microsoft 是否发布了任何库来处理 Azure AD 身份验证?

你看过Microsoft Identity Platform应用场景吗? https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-flows-app-scenarios

有很多快速入门https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant and tutorials: https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-aspnet-daemon-web-app

微软发布了很多Azure AD认证库,其中大部分都被命名为MSAL(Microsoft Authentication Library)。