我可以使用azure oauth2客户端凭据流访问经典的azure服务管理rest api吗?

我可以使用azure oauth2客户端凭据流访问经典的azure服务管理rest api吗?,azure,oauth-2.0,azure-active-directory,Azure,Oauth 2.0,Azure Active Directory,以下是azure oauth2客户端凭据的描述。 我可以发出请求以获取访问令牌,如下所示: POST /f2eae84a-d4b2-4f23-a74b-cdb32db66fd4/OAuth2/Token HTTP/1.1 Host: login.microsoftonline.com Content-Type: application/x-www-form-urlencoded Cache-Control: no-cache grant_type=client_credentials&

以下是azure oauth2客户端凭据的描述。

我可以发出请求以获取访问令牌,如下所示:

POST /f2eae84a-d4b2-4f23-a74b-cdb32db66fd4/OAuth2/Token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=client_credentials&client_id=e7ce6e44-3df6-4183-bcde-8e360fc7b685&client_secret=xxxxxxxxxxxxxxxxxxxxxxx&resource=https%3A%2F%2Fmanagement.core.windows.net%2F
GET /30dc506b-71d0-47dc-ab86-1a1c0ce4bea1/services/storageservices HTTP/1.1
Host: management.core.windows.net
Authorization: Bearer XXXXXXXXXXXXXXXXXXX
Accept: application/json
Cache-Control: no-cache
它成功地返回一个访问令牌

但当我使用该令牌访问服务管理api时,如下所示:

POST /f2eae84a-d4b2-4f23-a74b-cdb32db66fd4/OAuth2/Token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=client_credentials&client_id=e7ce6e44-3df6-4183-bcde-8e360fc7b685&client_secret=xxxxxxxxxxxxxxxxxxxxxxx&resource=https%3A%2F%2Fmanagement.core.windows.net%2F
GET /30dc506b-71d0-47dc-ab86-1a1c0ce4bea1/services/storageservices HTTP/1.1
Host: management.core.windows.net
Authorization: Bearer XXXXXXXXXXXXXXXXXXX
Accept: application/json
Cache-Control: no-cache

它返回403是的,它应该支持。关于此主题,您可以参考以下内容:

web/机密客户端在web服务器上运行,可以使用自己的身份(例如,服务或守护程序)访问资源,也可以获得授权,以登录用户的身份访问资源(例如,web应用程序)

由于关于API的文档似乎要更新到新版本API。我建议您通过参考第一个链接来使用新版本的API。要操作特定的资源,您需要将相应的角色分配给服务主体。例如,如果您正在使用Azure API管理进行开发,您可以参考此文档了解相关角色

如果您仍然有问题,请随时告诉我您正在开发的规范操作