我想知道这是如何工作的,假设我有以下设置:
- 受 Azure Active AD Provider 保护的 Azure API 应用程序(或任何其他 Web API)
- 启用了 MFA 的用户
- 需要使用web api的桌面应用程序(winforms或wpf)
因此,为了使用 Web API,桌面应用程序需要根据 Azure AD 对用户进行身份验证以获得访问 token 。由于启用了 MFA,我需要打开一个浏览器窗口并执行此操作(这至少是例如当我从 VS 登录到 azure 时 visual studio 所做的)。 我知道 Microsoft 的 SDK 可以执行此操作(https://msdn.microsoft.com/en-us/library/azure/dn249464.aspx),但我想知道这通常是如何工作的,因为还有其他提供商和服务为我提供了 REST 服务,我需要 token 才能访问。所有的场景总是在网络应用程序中解释,然后它只是重定向回来,我在 cookie 中有我的访问 token 。 但在桌面应用程序中,这是行不通的。所以我需要一种方法来显示浏览器窗口并从中获取授权 token 。 你知道我的意思?这样做的最佳做法是什么?这是如何运作的? 有没有人实现这样的事情?并非每个提供商都提供漂亮的 .net SDK,因为 Microsoft 可以为我处理所有这些事情。
提前感谢您的回答:) 最好的 劳林
最佳答案
我在这里找到了解决方案: http://www.cloudidentity.com/blog/2013/04/29/fun-with-windows-azure-ad-calling-rest-services-from-a-windows-phone-8-app/ 这没有使用 ADAL(如 This https://msdn.microsoft.com/en-us/magazine/dn463788.aspx ) 我可以根据我的情况调整它😊
关于c# - Windows 窗体或 WPF 桌面应用程序使用 MFA 登录到 azure AD 以访问 web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448508/