我在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-它可以正常工作。在这种情况下,它会返回空集,但至少不会因奇怪的身份验证错误而失败。
答案 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