【问题标题】:Can I access Graph API with AzureAD IDToken我可以使用 Azure AD ID 令牌访问 Graph API
【发布时间】:2020-02-23 18:24:35
【问题描述】:

我有 JavaScript 网站,它使用 IDToken 访问受 Azure AD 保护的 WebAPI。 有没有办法从已经通过 IDToken 验证的 WebAPI 调用 Graph API(获取组)。

我在我的 JS 中使用 msal 来访问 WebAPI。我将范围传递给 WebAPI,我尝试向 Graph 添加另一个范围,但随后出现错误。 我尝试在标头中使用 Authorization 键调用 Graph,并将 Bearer 作为我的 WebAPI 中的值,但这不起作用。

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api asp.net-core-webapi


    【解决方案1】:

    您使用了错误的 ID 令牌。 ID 令牌不应用于后端的授权。

    您的前端需要为您的后端获取访问令牌。然后,您的后端可以将该访问令牌交换为 Graph API 的访问令牌。

    或者您的前端可以调用 Graph API。 获取令牌时不能同时指定两个范围,因为令牌仅对一个 API 有效。 但是,您可以进行两次单独的调用来获取令牌。

    【讨论】:

    • 我已经做了你提到的改变。在我获得 Graph API 访问令牌后,出现错误“权限不足,无法完成操作”,看起来我的 Web API 无权读取用户数据。我需要提一下,我有一个多租户架构,因此我想要获取数据的用户不存在于与我的 WebAPI 相同的 AD 中。要获取我使用的 Graph 令牌:ConfidentialClientApplicationBuilder 我通过 WebApi 注册的应用程序客户端 ID 和机密
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 2018-01-15
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2021-06-19
    相关资源
    最近更新 更多