azure - 访问 Azure AD Graph API 时出现 "Access Token missing or malformed"错误

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

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

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

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

不幸的是,当我以具有管理员权限(全局管理员)的用户身份登录并提供租户 ID 时,当我调用用户/列表端点时,出现以下 401 状态错误: { “odata.错误”:{ “代码”:“Authentication_MissingOrMalformed”, “信息”: { "lang": "en", “value”:“访问 token 丢失或格式错误。” }, “日期”:“2018-07-20T14:01:24”, "requestId": "9f070c46-a949-41bf-85c9-f1ccf97975db", “值”:空 } } 有趣的是 - 如果我使用任何其他随机端点,例如:https://learn.microsoft.com/en-us/rest/api/servermanagement/node/list - 效果很好。在这种情况下,它返回空集,但至少它不会因奇怪的身份验证错误而失败。

最佳答案

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

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

根据异常情况,问题的根本原因是 token 受众。您可以在 JWT.io 中检查实际的访问 token 。

您可能会发现受众是https://management.core.windows.net/。获取的 token 将适用于其他 Azure 服务,例如 Web 应用程序、计算、ResourceManager 等。但不适用于 Graph。

你可以用 Azue AD graph explorer 来测试它,那么它就会为你工作。

观众应该是https://graph.windows.net

enter image description here

关于azure - 访问 Azure AD Graph API 时出现 "Access Token missing or malformed"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444465/

相关文章:

wcf - Azure Service Fabric 双工连接

c# - 通过 Azure AD ADAL 的 ASP.NET MVC 用户身份验证

reactjs - Azure 身份验证 - 访问 token 返回错误 AUD(00000003-0000-0000-c000-000000000000)

azure - 删除具有相同 signInName 的用户后创建用户失败

azure - 为 Active Directory 中的新用户发送电子邮件

azure - Azure Active Directory 应用程序模型 v2 是否支持图形 api?

visual-studio - Azure 网站未通过 Visual Studio Web 部署更新

javascript - PhoneGap 应用程序上 Apache Cordova 的 Windows Azure 通知中心插件 - WindowsAzure 未定义

Azure 授权 : what is scope parameter in REST API?

azure - Microsoftgraph 示例无法正常工作