Sharepoint 插件中的身份验证

Authentication in sharepoint Addin

我们已经创建了一个共享点托管插件,并希望向我们的企业 Azure Active Directory 进行身份验证。我们尝试从共享点 Web 部件迁移 AADTokenProvider,以从我们的 AAD 获取我们的 AccesToken。

以下是提供 AADTokenProvider 的依赖项 - microsoft/sp-http

不幸的是,依赖项不是独立的包。

完成从 Sharepoint 插件到 Azure AD 的身份验证的正确方法是什么?

SharePoint 加载项与用户一样是身份主体,必须经过身份验证和授权才能使用 SharePoint 资源。加载项可以使用三种授权系统。它们并不相互排斥。

三种授权系统以及何时使用它们

  • 信任度低- 提供商托管的 SharePoint 加载项可以向 Microsoft Azure 访问控制服务 (ACS) 注册,该服务向加载项颁发访问令牌,允许加载项访问加载项所在的 SharePoint 租户或服务器场中的资源-in 已安装。 Azure ACS 是 OAuth 2.0 框架 "flow" 中的可信令牌颁发者,其中包括 SharePoint 和加载项的远程组件。使用此系统的加载项可以在 Office 商店中出售。低信任度系统主要用于其远程组件托管在云中的加载项。

有关创建使用低信任系统的 SharePoint 加载项的详细信息,请参阅Creating SharePoint Add-ins that use low-trust authorization.

  • 高度信任 - 提供商托管的加载项可以使用数字证书与 SharePoint 建立信任。高信任系统主要用于其远程组件在本地托管的加载项。加载项可以安装到未连接到 Internet 的 SharePoint 场。加载项无法安装在 SharePoint Online 上或在 Office 商店中出售。

有关创建使用高信任系统的 SharePoint 加载项的详细信息,请参阅Creating SharePoint Add-ins that use high-trust authorization.

  • 跨域库 - 当加载项的业务逻辑在 JavaScript 中时,您可以选择使用 SharePoint 跨域库来代替或补充低-信任和高信任系统。该库还适用于加载项具有云托管组件但客户的公司防火墙使其难以使用低信任系统的情况。用户的浏览器会阻止来自其他域的脚本,但该库封装了一个安全系统来解决此限制。使用该库的加载项可以在 Office 商店中出售,并且可以安装到 SharePoint Online 或本地 SharePoint。

有关创建使用跨域库的 SharePoint 加载项的详细信息,请参阅:

  1. Creating SharePoint Add-ins that use the cross-domain library
  2. Solving cross-domain problems in SharePoint Add-ins (blog post)

希望对您有所帮助。