在关闭保护模式的桌面客户端上运行Outlook加载项

在关闭保护模式的桌面客户端上运行Outlook加载项,outlook,azure-active-directory,Outlook,Azure Active Directory,我们正在开发一个Outlook加载项,它从Active Directory请求令牌以代表流。一旦用户登录到AD一次,并且从AD获得了登录cookie,我们希望通过带有prompt=none参数的iframe从AD请求任何进一步的令牌 为了绕过受保护模式,我们将承载外接程序的url添加到受信任的站点,以及和。从Internet Explorer运行外接程序时,由于outlook.office.com位于受信任的站点中,因此整个页面在禁用保护模式的情况下运行,因此我们的iframe可以在登录时访问A

我们正在开发一个Outlook加载项,它从Active Directory请求令牌以代表流。一旦用户登录到AD一次,并且从AD获得了登录cookie,我们希望通过带有prompt=none参数的iframe从AD请求任何进一步的令牌

为了绕过受保护模式,我们将承载外接程序的url添加到受信任的站点,以及和。从Internet Explorer运行外接程序时,由于outlook.office.com位于受信任的站点中,因此整个页面在禁用保护模式的情况下运行,因此我们的iframe可以在登录时访问AD设置的登录cookie

我们的问题是从Outlook桌面客户端运行加载项。当iframe加载login.microsoftonline.com时,不会发送登录cookie。我怀疑这是因为桌面客户端可能正在以保护模式运行外接程序。如果以管理员身份运行Outlook,则会发送cookie,并且外接程序的行为与浏览器中的行为相同


除了以管理员身份运行客户端外,是否有任何方法可以使Outlook在关闭受保护模式的情况下运行外接程序?

此问题与完整性机制有关。有关完整性机制和保护模式的更多信息,请参阅下面的链接

如果站点位于受信任站点中,则它们在受保护模式之外运行,并且Cookie存储在介质完整性Cookie存储中

Outlook加载项由加载项运行时环境保护,其中承载Internet Explorer控件。启用UAC时,加载项运行时的完整性级别较低。Internet Explorer控件也以低完整性级别运行,并且无法从中等完整性cookie存储中检索cookie

因此,当iframe加载站点时,不会发送登录cookie

要解决此问题,有以下三种方法

  • 从IE中的受信任站点中删除站点,然后运行外接程序 来自Outlook。这可以将Cookie存储在低完整性Cookie中 商店
  • 关闭UAC,这将使所有程序以高完整性运行 水平。然而,这对IE来说并不安全
  • 通过创建 提升政策。请参考以下链接了解如何使用tos

注意:UAC的停用只能用于测试目的,如果您在生产计算机上(永久)停用它,您将创建一个主要的安全漏洞,请不要这样做