【问题标题】:Azure Active Directory Web Api not workingAzure Active Directory Web Api 不工作
【发布时间】:2017-12-11 15:54:09
【问题描述】:
我正在创建一个移动应用程序和一个 Web api。移动应用将使用获取的令牌访问 Web api。
我使用门户“https://apps.dev.microsoft.com/”创建了一个移动应用程序,并使用 Azure Active Directory 下的应用程序创建了一个 Web 应用程序/API。
这两个都是使用租户的全局管理员创建的。
当我尝试使用 web api 的 App Id 作为范围登录移动应用程序时,出现以下错误。
在名为 [XYZ].onmicrosoft.com 的租户中找不到名为 [ABC] 的应用程序
本机客户端无法找到 web api。
关于这里可能是什么问题的任何指针?
【问题讨论】:
-
我也尝试在 App Registrations 下创建原生应用 here 并将 web api 的权限添加到原生客户端应用。但是当我在移动设备上运行应用程序时,我收到错误 此 API 版本不支持应用程序 [DEF]。
标签:
azure
azure-active-directory
【解决方案1】:
AFAIK,目前您无法从使用Microsoft Application Registration Portal. 中的 v2.0 端点的客户端应用程序调用受 Azure AD V1.0 端点保护的 Web api 您可以在应用注册下的 azure 门户中创建客户端应用程序,并添加/授予访问您的 web api 应用程序的权限。
错误The application [DEF] is not supported for this API version可以通过使用v2.0端点在azure ad v1.0应用程序中获取令牌来重现:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
您应该在 azure ad v1.0 应用程序中创建对以下端点的请求(在 azure 门户中注册):
https://login.microsoftonline.com/{tenant}/oauth2/authorize (single tenant)
https://login.microsoftonline.com/{tenant}/oauth2/token(single tenant)
并设置resource 参数,在您的场景中为您的Web API 获取令牌时,Web API(安全资源)的App ID URI)。请查看这些code samples,了解如何在 azure ad 中的本机应用程序中调用 web api