访问Azure AD Graph API时出现“缺少访问令牌或格式错误”的错误

时间:2018-07-20 14:11:43

标签: azure azure-active-directory azure-ad-graph-api

我在Azure上有一个帐户,我们在Docker容器中运行各种应用程序。

我想使用此帐户连接到Active Directory,并能够管理各个方面,例如创建新用户等。

我发现以下API浏览器: https://docs.microsoft.com/en-us/rest/api/graphrbac/users/list

不幸的是,当我以具有管理员权限(全球管理员)的用户身份登录并提供租户ID时,当我调用用户/列表终结点时,出现以下401状态错误: { "odata.error": { "code": "Authentication_MissingOrMalformed", "message": { "lang": "en", "value": "Access Token missing or malformed." }, "date": "2018-07-20T14:01:24", "requestId": "9f070c46-a949-41bf-85c9-f1ccf97975db", "values": null } } 有趣的是-如果我使用任何其他随机端点,例如:https://docs.microsoft.com/en-us/rest/api/servermanagement/node/list-它可以正常工作。在这种情况下,它会返回空集,但至少不会因奇怪的身份验证错误而失败。

1 个答案:

答案 0 :(得分:0)

如果我测试用户-直接从站点列出Rest API,我也可以重现您提到的问题。

https://docs.microsoft.com/en-us/rest/api/graphrbac/Users/List

根据例外情况,此问题的根本原因是令牌受众。您可以在JWT.io中检查实际的访问令牌。

您可能会发现受众群体是https://management.core.windows.net/。获取的令牌将适用于其他Azure服务,例如webapps,compute,ResourceManager等。但不适用于Graph。

您可以使用Azue AD graph explorer对其进行测试,然后它将为您工作。

受众群体应为https://graph.windows.net

enter image description here