c# - Windows 窗体或 WPF 桌面应用程序使用 MFA 登录到 azure AD 以访问 web api

标签 c# wpf authentication

我想知道这是如何工作的,假设我有以下设置:

  • 受 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 可以为我处理所有这些事情。

提前感谢您的回答:) 最好的 劳林

最佳答案

关于c# - Windows 窗体或 WPF 桌面应用程序使用 MFA 登录到 azure AD 以访问 web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448508/

相关文章:

c# - 如何获取 Queryable.Join 的 MethodInfo

c# - func<T,T>作为函数参数的action用<T>,body怎么写?

c# - 使用 C# 函数检查空文本框

c# - 是否存在指示非法对象状态的内置 .NET 异常?

CakePHP 2 : Redirect Loop with Auth

c# - WPF 模板触发器和 visualStateManager 之间的区别

Wpf Datagrid 删除行问题

c# - 当 DataTemplate 为 Button 时,ListBox 项返回字符串

python - 使用 Python 以基本 HTML 形式登录

php - 如何使用 jwt-auth 对 Facebook 用户进行身份验证?