Office js 从Outlook加载项页面重定向到其他子域

Office js 从Outlook加载项页面重定向到其他子域,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我目前正在修改Outlook加载项,这需要根据用户所属的区域将用户重定向到不同的子域。加载子域页面时会出现office.js异常: 函数ContextActivationManager\u getAppContextAsync调用失败。错误代码为-2,异常:原点检查失败 我们的设置如下所示: https://outlook.company.com-域承载来自外接程序清单文件的所有URL,例如函数文件、组件askpane和readTaskPaneUrl https://outlook.subdo

我目前正在修改Outlook加载项,这需要根据用户所属的区域将用户重定向到不同的子域。加载子域页面时会出现office.js异常:

函数
ContextActivationManager\u getAppContextAsync
调用失败。错误代码为
-2
,异常:
原点检查失败

我们的设置如下所示:

  • https://outlook.company.com
    -域承载来自外接程序清单文件的所有URL,例如
    函数文件
    组件askpane
    readTaskPaneUrl

  • https://outlook.subdomain.company.com
    -例如,子域用户将从
    readTaskPaneUrl
    重定向到该子域。该页面还引用office.js,允许用户执行所有常规加载项操作


将子域URL添加到清单文件的
AppDomains
部分可以正常工作。但我们希望避免这种情况,以便在不重新发布外接程序的情况下灵活地添加新的子域。是否有解决此问题的方法?

您是否可以在
outlook.company.com
域中创建一个Web API,将请求代理到相应的
outlook.subdomain.company.com
子域?这样,您的外接程序代码将只访问
outlook.company.com
域中的资源,从而无需在清单的
AppDomains
部分指定子域。

是的,除非有其他方法,否则我们计划使用这种方法。我们希望避免使用反向代理来减少基础结构上的负载,并减少Outlook加载项http请求的跃点数。正如您在清单中所指出的,AppDomains是实现此目的的唯一方法。这与您的要求不完全一样,但是,此处描述的appdomains中的通配符支持(如https://*.company.com)是否有助于您的场景?是的,appdomains部分中的通配符可以解决我们的问题。现在我们将使用反向代理。