gpt4 book ai didi

azure-active-directory - 使用 Azure AD 1.0 终结点客户端凭据流调用 Microsoft Graph API

转载 作者:行者123 更新时间:2023-12-01 13:30:37 32 4
gpt4 key购买 nike

是否可以使用通过带有客户端凭据 OAuth 2 流的 Azure Active Directory 1.0 端点获得的访问 token 来访问 Microsoft Graph API?

例如:

POST https://login.microsoftonline.com/{mytenant}.onmicrosoft.com/oauth2/token
grant_type=client_credentials,
client_id={app id registered in azure portal},
client_secret={registered app key},
resource=https://graph.microsoft.com

当我使用从该请求返回的 token 时,尝试调用 https://graph.microsoft.com/v1.0/groups 时出现以下错误.

解码的 JWT

标题

{
"typ": "JWT",
"alg": "RS256",
"x5t": "HHByKU-0DqAqMZh6ZFPd2VWaOtg",
"kid": "HHByKU-0DqAqMZh6ZFPd2VWaOtg"
}

有效载荷

{
"aud": "00000002-0000-0000-c000-000000000000",
"iss": "https://sts.windows.net/{tenant id}/",
"iat": 1504804880,
"nbf": 1504804880,
"exp": 1504808780,
"aio": "Y2FgYDiiO8/s3smXRdxLg87zBPRNAwA=",
"appid": "{client id}",
"appidacr": "1",
"idp": "https://sts.windows.net/{tenant id}/",
"oid": "{enterprise app object id}",
"sub": "{enterprise app object id}",
"tenant_region_scope": "NA",
"tid": "{tenant id}",
"uti": "uIzrJNpHcEGXoQ4ZKZgqAA",
"ver": "1.0"
}

{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"request-id": "3537d28e-a061-4430-aef5-4a75bf791d90",
"date": "2017-09-07T16:38:26"
}
}
}

我已确保应用程序具有通过门户分配的正确权限。在所需权限 > 应用程序权限下,选择“读取和写入所有组”。

Azure Portal Permissions

我有什么遗漏或者这不可能吗?

最佳答案

在您的 JWT token 中,受众值(value) (aud) 是错误的。

如果您尝试调用 https://graph.microsoft.com或其任何 API,您需要一个带有 aud 的 token https://graph.microsoft.com 的 claim 或 00000003-0000-0000-c000-000000000000 .

您拥有的 token 用于 AAD Graph API,https://graph.windows.net又名 00000002-0000-0000-c000-000000000000

虽然这两个资源在 URL 和 GUID 形式中看起来很相似,但它们是完全不同的身份。您应该在整个代码中确认您在检索访问 token 时指定了正确的资源值。您上面的小样本表明您做对了,但 token 表明您不是。

关于azure-active-directory - 使用 Azure AD 1.0 终结点客户端凭据流调用 Microsoft Graph API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46101980/

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