首页 > 解决方案 > Office.js | 实现单点登录excel加载项

问题描述

我正在使用 Office.js、javascript 并做出反应以创建 excel 加载项。想要使用功能区按钮实现单点登录流程。用户成功登录后,只想向用户显示任务窗格。

  1. 我已经使用共享运行时(manifest.xml)配置了加载项
  2. 我在功能区中添加了登录命令,并使用以下代码从清单文件执行操作。

以下是清单文件中的操作。'btnlogin' 功能在单击功能区中的登录图标时执行

<Action xsi:type="ExecuteFunction">
    <TaskpaneId>DataDirectId</TaskpaneId>
    <FunctionName>btnlogin</FunctionName>
    <SourceLocation resid="LGButton.Url" />
</Action>

在 btnlogin 函数中使用 Office.context.ui.displayDialogAsync() 并将“oauth2”授权 URL 传递给对话框。URL 在不同的主机上。如果将打开的对话框作为 i-frame 传递,则在响应标头中接收 X-FRAME-OPTIONS = DENY,因为它授权 URL 拒绝显示在 I-frame 上。如果我不通过 displayInIframe 则授权 URL 将打开。我还在“AppDomain”中添加了授权 URL 主机。

授权 URL 在对话框内打开用户名/通过窗口,一旦用户通过正确的用户名/通过授权 URL,就会重定向到提供的路径。例如,下面是我试图在对话框中打开的授权 URL: https ://google.com?response_type=abc&client_Id=xyz&**redirect_uri=https://application-url-to-redirect * *

请帮助实现以下场景: 在输入正确的用户名/密码时想要关闭对话框并在任务窗格上打开 redirection_URI。

我们在我们的应用程序中使用哈希路由器。

我需要使用任何 react-oidc 或 passport-auth 库吗?请建议并帮助实施。

标签: javascriptoffice365office-jsoffice-addinsoffice365api

解决方案


推荐阅读