【问题标题】:JWT token issue on Azure Management APIAzure 管理 API 上的 JWT 令牌问题
【发布时间】:2015-07-03 16:14:05
【问题描述】:

我一直在尝试使用 Azure 服务管理 API 来列出托管服务,但没有成功。

首先,我能够使用 PowerShell 设置身份验证,正如 Microsoft 文档所述:https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx

我的第一步是使用 OAuth2 向该 URL 发出 POST 请求来请求访问令牌:

https://login.windows.net/<MY_TENANT_ID>/oauth2/token

并传递这些参数:

grant_type: client_credentials
client_id: <THE_CLIENT_ID_OF_THE_APP_REGISTERED_THROUGH_POWERSHELL>
client_secret: <THE_PASSWORD_OF_APP_REGISTERED_THROUGH_POWERSHELL>
resource: https://management.core.windows.net

所以,我收到了一个有效的响应和响应中包含的 access_token。到目前为止一切顺利。

然后,我想对 Management API 进行一个简单的调用;我想列出我的托管服务(云服务),所以我向这个 URL 发出 GET 请求:

https://management.core.windows.net/<MY_SUBSCRIPTION_ID>/services/hostedservices

包括以下标题:

Authorization: Bearer <THE_ACCESS_TOKEN_RECEIVED_IN_THE_PREVIOUS_STEP>
x-ms-version: 2014-10-01 (I've also tested with different versions)

但是,我得到的是 401 Unauthorized 错误,并带有以下消息:

The JWT token does not contain expected audience uri 'https://management.core.windows.net/'

我还尝试使用直接在 Azure 门户中注册的本机应用程序(权限设置为使用服务管理 API)并使用 grant_type = authorization_code 请求令牌。我正确获取了 access_token 和 refresh_token,但是当我尝试向上述 URL 发出请求时,我收到了相同的错误消息。

附带说明,我能够成功使用 Azure Insights API;上述问题与 Azure 服务管理 API 有关。

有人知道我错过了什么吗?

【问题讨论】:

  • 同样的问题,似乎无法弄清楚为什么我不断获得未经授权。
  • 我能够通过基于 AAD 的令牌访问以下端点: i. graph.windows.net ii。 management.azure.commanagement.core.windows.net 只能通过管理证书访问,即使使用最新的 API 版本,这似乎也是一个已知限制。

标签: azure


【解决方案1】:

我今天遇到了同样的问题。使用 '/' https://management.core.windows.net

完成资源 url

查看资源中的网址与错误消息“https://management.core.windows.net/”中的网址不匹配

【讨论】:

  • 当时我看到有人提到斜杠,但也没有用。
  • 我同意@RolandPish。看起来就是这个 API:management.core.windows.net 在身份验证令牌方面遇到了一些问题
  • @ArunkumarKumaresan 关于这个问题有任何更新吗?我今天仍然面对它。
猜你喜欢
  • 1970-01-01
  • 2017-11-16
  • 2019-07-16
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 2022-01-27
  • 2021-07-27
  • 1970-01-01
相关资源
最近更新 更多