首页 > 解决方案 > 如何使用 curl/postman 访问 Azure AD 应用程序代理后面的网页

问题描述

如何使用 cURL 或 Postman 从 Azure 的 AD 应用程序代理后面读取网页?

我试图更好地了解 OAuth 的工作原理,以便创建一些需要访问我们在应用程序代理后面的服务器的自动化脚本。目前我正在使用网络浏览器,并且必须登录到我的 Microsoft 帐户才能查看服务器托管的网页。这工作正常。看到我可以使用网络浏览器轻松完成此操作,似乎我也应该能够使用 cURL 或 Postman 完成相同的操作。

我们注册的应用程序已注册为机密客户端(Microsoft 的“Web App”)。公共客户端选项被禁用。它使用隐式授予类型返回一个 ID 令牌(访问令牌复选框未选中,只有 ID 令牌复选框)。我无法创建新的客户端密码,也无法启用公共客户端类型。

我尝试了几种不同的 OAuth 流程,但它们似乎都需要客户端密码(因为我们使用的是机密客户端类型),而我无权访问。尽管不知道任何客户端机密,我如何能够通过浏览器阅读网页?我怎样才能通过 cURL 或 Postman 做同样的事情?

标签: oauth-2.0azure-active-directory

解决方案


在被重定向到 Microsoft 的登录页面并登录后,Azure 会在浏览器中保存一个访问 cookie。您可以复制此访问 cookie 并将其作为 Postman 请求的一部分。这将允许来自 Postman(或 curl 或其他)的请求访问 Azure AD 应用程序代理背后的服务。

这对于我的特定用例来说已经足够了,但它确实带来了必须教用户如何查找和复制访问 cookie 的问题。找到一种更用户友好的方式来获取访问 cookie(或类似的东西)会很好。


推荐阅读