gpt4 book ai didi

azure - 是否可以使用自定义受众访问 microsoft graph?

转载 作者:行者123 更新时间:2023-12-03 06:46:06 25 4
gpt4 key购买 nike

我有一个使用 Azure AD 提供对资源的访问的 API。它具有一个范围 api://{client_id}/Api.Read 和以下 API 权限:用户.阅读.全部,用户.阅读。

当我从 AD 收到访问 token 时,它只有一个 aud - {client_id} ,并且当我尝试访问 Microsoft graph 时(例如 https://graph.microsoft.com/v1.0/me) 我收到“访问 token 验证失败。受众无效。”响应符合预期。

我的问题是 - 是否可以使用一个 token 访问图形 API 和我的 API 以及如何实现?

最佳答案

我正在使用代表调用将当前 token 交换为“正确的” token :https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow

基本上,您只需进行以下调用(从上面的链接复制):

POST /oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com/<YOUR_TENANT>
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
&requested_token_use=on_behalf_of
&client_id=<YOUR_CLIENT_ID>
&client_secret=<YOUR_CLIENT_SECRET>
&assertion=<YOUR_CURRENT_TOKEN>
&scope=<YOUR_NEW_SCOPES>

响应包含用于访问范围内请求的资源的新 token 。我的情况不完全是您的情况,但我认为这也适合您的情况。您需要在服务器端进行此调用。

这假设用户已经同意您的应用程序可以使用 ,否则此调用将导致“interaction_required”或“invalid_grant”错误(类似这样,不记得确切的错误名称)这基本上意味着您需要引发 UI 提示以让用户同意新范围(如何做到这一点是另一个问题)

关于azure - 是否可以使用自定义受众访问 microsoft graph?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74114624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com