使用Microsoft Office.js加载项进行自动身份验证

Auto Authenticating with Microsoft Office.js Add-ins

本文关键字:身份验证 加载项 Microsoft Office js 使用      更新时间:2023-09-26

背景

我目前正在使用Office Js开发Microsoft Office加载项。外接程序是一个简单的UI,它将调用一个web api,该api将为预期用户运行服务。我目前有一个受Azure Ad保护的web api。这会提示用户登录他们公司发行的pc并插入他们的凭据。我展望未来,当我说我会被用户反问为什么他们必须再次登录,而他们已经使用相同的凭据登录到公司颁发的个人电脑时。

问题

有没有一种方法可以让我使用已经用来登录电脑的凭据获得自动登录流?我知道这可能是javascript造成的安全问题。但是,有没有一种替代方案可以为用户提供自动登录流程?

其他。信息

我看到,当我打开一个MS套件应用程序时,它会自动在右上角显示我的名字。这告诉我,办公应用程序已经获得了我的证书。因此,我希望我能了解如何利用它,或者使用office.js.

以某种方式模仿它

据我所知,我们可以将Internet Explorer配置为自动登录。

要进行这种类型的身份验证,必须满足以下两个条件:用户必须运行支持Kerberos和/或NTLM身份验证的浏览器;并且,必须将该浏览器配置为允许自动登录Communicator Web Access网站。通过在每台客户端计算机上完成以下过程,可以将Internet Explorer配置为自动登录

您也可以使用组策略来配置这些设置。通过使用组策略,您可以配置客户端计算机,而无需登录到每台计算机

要配置Internet Explorer进行自动登录:

  1. 从"控制面板"或Internet Explorer中的"工具"菜单中选择"Internet选项",打开Internet选项对话框
  2. 在"Internet选项"对话框的"安全"选项卡上,选择"本地intranet",然后单击"自定义级别"
  3. 在"安全设置"对话框的"登录"下,选择"仅在Intranet区域中自动登录",然后单击"确定"
  4. 在"Internet选项"对话框的"安全设置"选项卡上,在"本地intranet"仍处于选中状态的情况下,单击"站点"
  5. 在"本地intranet"对话框中,单击"高级"
  6. 在下一个对话框(也称为"本地intranet")中,键入Communicator Web Access站点的URL(例如,https://cwaserver.contoso.com)在"将此网站添加到区域"框中,然后单击"添加"
  7. 在"本地intranet"对话框中,单击"确定"
  8. 在原始的"本地intranet"对话框中,单击"确定"
  9. 在"Internet选项"对话框中,单击"确定"

使用组策略将Internet Explorer配置为自动登录

  1. 打开组策略管理控制台,然后创建新的组策略对象(GPO)或编辑现有GPO
  2. 依次展开"计算机配置"、"策略"、"管理模板"、"Windows组件"、"Internet Explorer"、"互联网控制面板",然后单击"安全页"
  3. 在详细信息窗格中,双击"站点到区域分配列表"
  4. 在"场地到分区指定列表属性"对话框中,单击"启用"
  5. 在"场地到分区指定列表属性"对话框中,单击"显示"
  6. 在"显示内容"对话框中,单击"添加"
  7. 在"添加项目"对话框中,键入Communicator Web Access网站的URL(例如,https://cwaserver.contoso.com)在输入要添加的项目的名称框中
  8. 在"输入要添加的项目的值"框中键入1(表示本地intranet区域),然后单击"确定"
  9. 在"显示内容"对话框中,单击"确定"
  10. 在"场地到分区指定列表"对话框中,单击"确定"
  11. 在"组策略管理编辑器"中,单击"Intranet区域"
  12. 在详细信息窗格中,双击"登录选项"
  13. 在"登录选项属性"对话框中,单击"启用"
  14. 在"登录选项"列表中,单击"仅在Intranet区域中自动登录",然后单击"确定"
  15. 关闭组策略管理编辑器

有关详细信息,请参阅配置Internet Explorer以进行自动登录。