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

Auto Authenticating with Microsoft Office.js Add-ins

背景

我目前正在使用 Office Js 开发 Microsoft Office 加载项。加载项是一个简单的 UI,它将调用网络 api,这将 运行 为目标用户提供服务。我目前的网站 api 受 Azure Ad 保护。这会提示用户登录他们公司发布的电脑并插入他们的凭据。我在这里展望未来,当我说当用户已经使用相同的凭据登录公司发行的 PC 时,我会问他们为什么必须再次登录。

问题

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

杂项。信息

我发现每当我打开 MS 套件应用程序时,它都会自动在右上角显示我的名字。这告诉我 Office 应用程序已经在获取我的凭据。所以我希望我可以使用 office.js 以某种方式利用它或模仿它。

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

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

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

将 Internet Explorer 配置为自动登录:

  1. 从“控制面板”或 Internet Explorer 的“工具”菜单中选择“Internet 选项”,打开“Internet 选项”对话框。
  2. 在“Internet 选项”对话框的“安全”选项卡上,select 本地 Intranet,然后单击“自定义级别”。
  3. 在“安全设置”对话框的“登录”下,select仅在 Intranet 区域自动登录,然后单击“确定”。
  4. 在本地 Intranet 仍然 select 的安全设置选项卡上的 Internet 选项对话框中,单击站点。
  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、Internet 控制面板,然后单击安全页面。
  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. 关闭组策略管理编辑器。

更多详情请参考Configuring Internet Explorer for Automatic Logon