Office js 使用Edge和IE的Office对话API存在问题
我在React+Typescript Outlook加载项中使用Dialog API和Office.context.ui.displayDialogAsync()来实现一个特殊的登录流。用户需要首先使用Office 365进行身份验证,然后使用OAuth令牌和内部API,使用AzureADFS登录,以获取附加模块从中检索数据的另一个API的附加令牌。所有这些都在浏览器和Firefox上的Outlook Online以及Outlook桌面上运行良好。但是在Edge和IE中,对话框永远不会关闭,我也不会得到身份验证令牌 注意:我的登录实现基于以下示例: 我已经从外接程序中粗略地提取了登录过程的代码: (如果没有Office主机应用程序,它显然无法运行) 基本流程是:Office js 使用Edge和IE的Office对话API存在问题,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我在React+Typescript Outlook加载项中使用Dialog API和Office.context.ui.displayDialogAsync()来实现一个特殊的登录流。用户需要首先使用Office 365进行身份验证,然后使用OAuth令牌和内部API,使用AzureADFS登录,以获取附加模块从中检索数据的另一个API的附加令牌。所有这些都在浏览器和Firefox上的Outlook Online以及Outlook桌面上运行良好。但是在Edge和IE中,对话框永远不会关闭,我也
- 用户单击我的应用程序登录组件中的按钮
- 调用Office.context.ui.displayDialogAsync('code&prompt=login&access\u type=offline&client\u id={CLIENTID}&tenant=common',{height:50,width:50},this.dialogCallback)
- 用户使用O365/OAuth进行身份验证,然后重定向到内部AZADFS身份提供程序,让用户再次使用AD进行身份验证,成功后关闭对话框
- 在它关闭后,对话框MessageReceivedHandler回调将启动,我提取id_标记和代码值,并使用它登录到内部web API
这是怎么回事?Edge和IE中是否存在与对话API不兼容的内容?或者我的实现中是否存在一个故障,奇迹般地只在Chrome和Firefox中工作?您使用的是旧OWA还是新OWA(出现在右角的选项:尝试新outlook)?如果可能的话,你能和我们分享一下这个代码片段吗?两者都有。Stackblitz上有一个代码片段(我更新了应用程序的URL,而不是代码):。查看Login.tsx类;这与OfficeDev report中的示例几乎相同。您能否分享您面临此问题的IE/Edge版本。Edge:40.15063.674.0。IE:11.1387.15063.0对于问题(2),提交按钮是否关闭对话框?对于问题(1),请在私人模式下尝试一次,看看问题是否仍然存在。然而,这个问题似乎与加载项API无关。您是否使用旧OWA或新OWA(出现在右角的选项:试用新outlook)?如果可能的话,你能和我们分享一下这个代码片段吗?两者都有。Stackblitz上有一个代码片段(我更新了应用程序的URL,而不是代码):。查看Login.tsx类;这与OfficeDev report中的示例几乎相同。您能否分享您面临此问题的IE/Edge版本。Edge:40.15063.674.0。IE:11.1387.15063.0对于问题(2),提交按钮是否关闭对话框?对于问题(1),请在私人模式下尝试一次,看看问题是否仍然存在。然而,这个问题似乎与插件API无关