Azure客户端凭据授予誓言在Graph Mail API访问的混合设置中不起作用

问题描述 投票:1回答:1

在混合设置中,如果使用客户端凭据授予类型来获取令牌,并且如果使用该令牌来使用图形api获取本地用户消息(https://graph.microsoft.com/v1.0/users('[email protected]')/ messages /),则会因提供UnknownError而失败。

在IIS日志上调试时显示的错误是“此令牌配置文件'V1S2SAppOnly'不适用于当前协议。” error_category = “INVALID_TOKEN”。

但是,如果授权代码授予或资源所有者密码凭证(ROPC)授予用于获取令牌,我们就能够使用图形API获取本地用户的消息。已为两者附加了令牌的屏幕截图。如何使用图形API(在混合设置中)使客户端凭据授予对本地用户消息访问的工作?

Client credentials oath flow

ROPC oath flow

Update

更新我去了,并在Exchange服务器中编辑了休息的web.config,以便在配置文件中包含V1S2SAppOnly。之前的错误消失后,看到新的错误。

承载+ CLIENT_ID = “00000002-0000-0ff1-ce00-000000000000”,+ trusted_issuers = “00000001-0000-0000-c000-000000000000 @ ea6064aa-d6fc-48d3-abb8-1728e1f39e0b”,+ token_types = “app_asserted_user_v1 + service_asserted_app_v1”, + error =“invalid_token”2000008; reason =“+令牌+应该+有+有效+权限+或+链接+帐户+关联+ + +合作伙伴+应用程序+'00000003-0000-0000-c000-000000000000'。”; error_category = “invalid_grant”

azure-active-directory microsoft-graph
1个回答
1
投票

我认为问题在于aud声称,即令牌的观众。

对于您共享的第一个令牌

  • aud值是00000002-0000-0000-c000-000000000000。这是Azure AD Graph API的资源ID,而不是Microsoft Graph API。对于Microsoft Graph API,您应该使用https://graph.microsoft.com或Id 00000003-0000-0000-c000-000000000000
  • 此令牌可能是您使用客户端凭据授权的令牌,因为没有任何用户声明

对于您共享的第二个令牌

  • aud值是https://graph.microsoft.com这是正确的
  • 这个令牌是在用户名anoop的上下文中获取的,所以我想这是适合你的那个。
© www.soinside.com 2019 - 2024. All rights reserved.