【问题标题】:Programmatically authenticate with Azure AD for Application Proxy使用 Azure AD 以编程方式对应用程序代理进行身份验证
【发布时间】:2018-11-14 23:02:55
【问题描述】:

我有一个带有 REST 端点的本地托管 WCF 服务,该服务仅在 IIS 中配置为匿名身份验证。我在服务器上安装并配置了 Azure App 代理连接器。我能够通过通过传递身份验证与服务精细联系,但是当Azure AD作为安全机制选择Azure AD时,努力从控制台应用程序验证。我知道我可以在 Azure 中通过并在 IIS 中打开例如 Windows 身份验证,但不幸的是,在这种情况下这不是一个选项。

使用浏览器,我可以正常访问应用程序,甚至不需要输入凭据,我们的本地 AD 已与 Azure AD 连接并同步。

我关注了这个walk-through,尽管它与应用程序代理无关,并且重用部分代码我能够为我的应用程序获取访问令牌,但是当我运行带有授权标头的 http 请求时,我没有得到服务操作的结果。

使用 Fiddler 我可以注意到以下几点:

  1. 我得到 http 302(找到)。我可以在请求中看到我的授权标头,作为响应,我得到一个 cookie AzureAppProxyAnalyticCookie
  2. 接着是 http 200 到 login.microsoftonline.com

示例我提供的上述链接工作正常,所以很明显我做错了什么。为什么 Authorization 标头不被接受,为什么我被重定向到登录页面?

提前致谢

【问题讨论】:

    标签: c# .net oauth azure-active-directory owin


    【解决方案1】:

    这适用于另一个服务,不知道第一个服务出了什么问题,但怀疑本地服务器上的 DNS 存在问题。不会在这上面花更多时间,重点是我根本不应该经历重定向,尽管浏览器处理了它并设法让我通过了身份验证。

    【讨论】:

    • 我有一个本地 Web 服务,它只支持在 azure 应用代理后面的 Windows 身份验证。您知道如何针对 azure 应用代理进行身份验证,以便可以访问其背后的 Web 服务吗?
    • 如果您配置 Azure 应用代理而不进行身份验证,那么您必须以通常的方式向您的本地 Web 服务器进行身份验证。如果您更喜欢其他方式,我认为您需要使用 ADAL 库。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 2019-05-29
    • 1970-01-01
    • 2017-11-10
    • 2017-10-30
    • 2019-04-12
    • 1970-01-01
    • 2021-10-25
    相关资源
    最近更新 更多