Microsoft Graph API - 使用应用程序(守护程序)身份确定委托信息

Microsoft Graph API - determine delegated information using application (daemon) identity

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

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

没有。不可能的。

首先您需要了解 the difference Azure AD 中应用程序令牌(应用程序权限)和用户令牌(委托权限)之间的关系。

How using application identity check if user has access to the delegated folder?

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

Can MS Graph somehow enforce a user's access to another user's mailbox when using an application identity?

同样,MS Graph本身也没有提供这个功能。你可以 Use the EAC to assign permissions or Assign permissions to the entire mailbox with Exchange Online Powershell.