Microsoft Graph API - 使用应用程序守护程序标识确定委派信息

问题描述

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

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

解决方法

没有。这是不可能的。

首先需要了解Azure AD中Application token(应用权限)和User token(委托权限)之间的the difference

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

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

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

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