带有 API 管理访问令牌问题的 Azure Active Directory Oauth 2.0 客户端凭据流

Azure Active Directory Oauth 2.0 Client Credentials Flow with API Management Access Token issue

我一直在努力让我的 Azure Active Directory Oauth 2.0 客户端凭据流与 API 管理一起工作。但我也通过邮递员进行了身份验证。但是在 return 中,我没有得到任何访问令牌,只是一堆 HTML。我怎样才能解决这个问题?应用程序的设置完全按照文档,包括 JWT 策略的验证。

基本上,我希望我的客户端应用程序使用 Oauth 2.o 与我的 azure API 连接,而无需使用提供的客户端 id/secret 获得任何同意。我正在尝试使用 API 管理控制台开箱即用的 ECHO API 进行设置。

谢谢

Postman Access token Error Screen

要将应用程序权限与您自己的 API(与 Microsoft Graph 相反)一起使用,您必须首先 expose the API by defining scopes in the API's app registration in the Azure portal. Then, configure access to the API 通过在客户端应用程序的应用程序注册中选择这些权限。如果您没有在 API 的应用程序注册中公开任何范围,您将无法在 Azure 门户中的客户端应用程序的应用程序注册中指定对该 API 的应用程序权限。

例如,如果我发送了具有自定义名称(如 https://testwebapp.in/.default)的范围参数,但没有在 Azure AD 中配置与应用程序 ID URI 相同的内容,那么这是一种预期的行为,您将收到错误 AADSTS500011。

请求中的

scope参数应该是你想要的资源的资源标识(application ID URI),加上.default后缀。对于 Microsoft Graph 示例,该值为 https://graph.microsoft.com/.default。此值告诉 Microsoft 标识平台,在你为应用配置的所有直接应用程序权限中,终结点应为与你要使用的资源关联的权限颁发令牌。

参考:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#application-permissions