【问题标题】:Microsoft Graph API - determine delegated information using application (daemon) identityMicrosoft Graph API - 使用应用程序(守护程序)标识确定委托信息
【发布时间】:2021-04-12 06:51:16
【问题描述】:

我正在使用守护程序应用程序令牌通过 Microsoft Graph API(/users/{id}/mailFolders) 获取邮件文件夹信息。在这种情况下,我可以接收任何用户的文件夹。但是当作为应用程序进行身份验证时(而不是使用用户),您不能使用委派权限。

如何使用应用程序身份检查用户是否有权访问委派文件夹,或者 MS Graph 是否可以在使用应用程序身份时以某种方式强制用户访问另一个用户的邮箱?

【问题讨论】:

  • 如你所想,守护进程不支持委派权限。如果你想使用委托权限,你应该调用/me端点https://graph.microsoft.com/v1.0/me/mailFolders
  • 是的,我同意 Carl :)
  • 谢谢!在我的情况下,我只使用守护进程身份,并想看看一个用户是否可以使用带有应用程序令牌的 MS Graph API 访问另一个用户的邮箱?我想也许是其他 MS Graph 端点来查看委派用户列表或类似的东西。谢谢

标签: azure microsoft-graph-api graph-api-explorer


【解决方案1】:

没有。这是不可能的。

首先你需要了解the difference在Azure AD中Application token(应用程序权限)和User token(委托权限)之间的关系。

如何使用应用程序身份检查用户是否有权访问 委托文件夹?

当您使用应用程序令牌时,您正在玩​​一个可以访问所有邮箱的应用程序。您不是以用户身份登录,因此无法检查用户对其他用户邮箱的访问权限。

MS Graph 能否以某种方式强制用户访问另一个用户的邮箱 何时使用应用程序身份?

同样,MS Graph 本身也不提供此功能。你可以Use the EAC to assign permissionsAssign permissions to the entire mailbox with Exchange Online Powershell

【讨论】:

  • 所以没有解决方案来确定一个用户是否可以使用带有应用程序令牌的 MS Graph API 访问另一个用户的邮箱?我想也许是其他 MS Graph 端点来查看委派用户列表或类似的东西。谢谢
  • @YuraMo 没有。恐怕没有显示此信息的 Graph 端点。
  • @YuraMo 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。)。见meta.stackexchange.com/questions/5234/…。这对其他社区成员可能是有益的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 2021-04-12
  • 2021-12-18
  • 2020-05-01
  • 2020-12-25
  • 1970-01-01
相关资源
最近更新 更多