在合作伙伴中心创建或更新客户端 ID 和密码

重要

您需要 Microsoft Azure AD/Entra 租户才能在 2023 年 3 月 1 日之后继续使用该服务而不会中断。 转到合作伙伴中心帐户中的租户 设置 ,创建新的 Microsoft Entra ID 或关联当前 ID。

在 SharePoint 外接程序中更新即将过期的客户端密码

  1. 在合作伙伴中心生成并添加新的客户端密码,以将其与该特定加载项客户端 ID 相关联。 有关具体步骤,请参阅 生成其他客户端密钥
  2. 更新远程 Web 应用程序以使用新的客户端密码。 有关详细信息,请参阅替换 SharePoint 外接程序中即将过期的客户端密码中的在 Visual Studio 中更新远程 Web 应用程序以使用新密码部分。
  3. 重新发布远程 Web 应用程序。

重要

Microsoft Visual Studio 的 Office 开发人员工具支持设置辅助客户端密码,用于更新即将过期的客户端密码。

使用 OAuth 对加载项进行身份验证和授权

Open Authorization (OAuth) 是一种开放的授权协议。 OAuth 支持以简单、标准的方式从桌面和 Web 应用程序进行安全授权。 使用该协议,用户可以批准应用程序代表其执行操作,而无需共享其用户名和密码。 例如,用户可以将存储在一个站点上的专用资源或数据(联系人列表、文档、照片、视频等)与另一个站点共享,而无需提供其凭据(通常是用户名和密码)。

使用 OAuth,用户可以授权服务提供商(例如 SharePoint)为由给定服务提供商(例如 SharePoint)托管的数据提供令牌,而不是凭据(例如用户名和密码)。 每个令牌都授予特定站点(例如 SharePoint 文档存储库)在定义的持续时间内对特定资源(例如文件夹中的文档)的访问权限。 然后,用户可以授予非 Microsoft 站点访问存储在其他服务提供商(例如 SharePoint)处的信息的权限,而无需共享其用户名和密码,也无需共享他们在 SharePoint 上拥有的所有数据。

如果外接程序需要这种类型的授权,则必须将 OAuth 客户端 ID 和客户端密码与外接程序关联。 你可以在合作伙伴中心生成 OAuth 客户端密码,然后将其添加到外接程序代码中。

当用户安装具有关联客户端 ID 和客户端密码的外接程序时,会出现一个同意对话框。 如果用户同意,外接程序就可以代表用户访问外接程序所需的数据。 用户只能授予他们拥有的权限。 授权表示用户委派给加载项的权限。

例如,您的外接程序可以是在 Microsoft 365 SharePoint 网站上作为 IFRAME 打开的旅行日历外接程序。 OAuth 允许加载项识别旅行日历所属的用户。 或者,如果旅行日历加载项需要访问 Microsoft 365 的其他方面(如资源或日历信息),它可以代表已登录用户访问它们。

注意

有关 OAuth、客户端 ID 和客户端密码的详细信息,请参阅 SharePoint 外接程序的授权和身份验证SharePoint 外接程序的上下文令牌 OAuth 流注册 SharePoint 外接程序 2013

添加客户端 ID 和客户端密码

一个外接程序只能关联一个客户端 ID,但一个客户端 ID 可以关联多个客户端密码。 出于安全和管理目的,建议限制客户端 ID 关联的客户端密码的数量。

重要

若要提交使用 OAuth 的 SharePoint 外接程序并将其分发到中国,必须执行以下操作:

  • 为中国使用单独的客户端 ID 和客户端密码。
  • 为中国添加专用的外接程序包。
  • 阻止除中国以外的所有国家/地区访问。
  • 为中国创建单独的外接程序列表。

有关将外接程序分发到中国的详细信息,请参阅提交由中国世纪互联运营的 Office 365 应用

仅使用一个签名客户端密码对外接程序的入站数据进行签名。 在合作伙伴中心,它是客户端密码,在“客户端 ID”页上的“状态”列中的“活动”旁边带有绿色复选标记。 如果删除外接程序使用的签名客户端密码,则会改用下一个有效的客户端密码。

外接程序可以使用任何有效的客户端密码作为密码来与 Microsoft 通信。 当客户端密码过期时,它不能再用作密码。 如果只有一个客户端密码与您的客户端 ID 关联,则删除该密码可能会阻止您的外接程序访问它所需的数据。

如果外接程序是一项服务,并且它需要 OAuth 客户端 ID 和客户端密码,请执行以下步骤。

添加新的客户端 ID

重要

生产环境中使用客户端 ID 之前,必须先在 Microsoft Store 上发布产品/服务。 未能这样做可能会对客户应用的可用性产生负面影响。 我们建议您将未发布的应用程序移动到 SharePoint 解决方案 ,因为 SharePoint 外接程序正在逐步淘汰。

  1. 使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。

  2. 在“客户端 ID”选项卡上,选择“添加新的客户端 ID”

  3. 在“新客户端 ID”对话框中,提供以下信息。

    项目 要提供的信息
    友好名称 选择一个名称以帮助您识别哪个加载项使用客户端 ID;例如,“日历应用程序”
    应用域 提供运行外接程序的域。 例如:app.contoso.com
    它必须是您拥有的有效域名;它不得包含 http://https://
    并且它不能是国际域名
    应用重定向 URL 提供用户在同意对话框中同意外接程序的访问要求后,要将其发送到的重定向 URL。
    此 URL 必须以 https://http://ms-app://
  4. 选择“立即创建密码”

  5. 选择客户端密钥的有效期。 选项为一年、两年或三年。 我们建议选择一年,因为与较长的时间段相比,在业务流程中跟踪可能更容易。 但是选择两年或三年没有安全隐患。 当客户端密钥过期时,您需要更新您的加载项。

  6. 选择客户端密钥可用性的类型:

    • 此客户端 ID 将用于全球可用的应用
    • 此客户端 ID 将用于仅在中国提供的应用
  7. 选择“立即创建密码”

  8. 在“获取客户端密码”页面上,将客户端 ID 和客户端密码复制到一个安全的位置,以便日后参考。

    重要

    客户端密码与客户端 ID 相关联,但不会再次显示在合作伙伴中心,因此请务必记录它。 此外,请记录开始日期和结束日期,以便您了解客户端密钥的有效期及其到期日期。 如果客户端密码即将过期,则需要生成一个新的客户端密码并更新外接程序。 有关详细信息,请参阅更新与客户端 ID 关联的客户端密码

  9. 选择“完成” 。

更新与客户端 ID 关联的客户端密码

在以下情况下更新客户端密码:

  • 客户端密码即将过期

    建议在当前客户端密码仍然有效时,在合作伙伴中心添加新的客户端密码。 使用新的客户端密码更新外接程序,然后删除即将过期的客户端密码,方法是在合作伙伴中心的“客户端 ID”页面上选择该条目旁边的“删除”

    注意

    Microsoft Visual Studio 的 Office 开发人员工具支持设置辅助客户端密码,用于更新即将过期的客户端密码。

  • 客户端密码的安全性受到威胁

    若要快速响应安全威胁,可以先从合作伙伴中心删除已泄露的客户端密码,添加新的客户端密码,然后使用新的客户端密码更新外接程序。

    重要

    删除泄露的客户端密码后,在添加新的客户端密码之前,您的加载项可能暂时不可用。 但这种情况可能比客户端密钥丢失或被盗可能导致的严重业务影响要好。

生成其他客户端密钥

  1. 使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。

  2. Client IDs (客户端 ID) 选项卡上,选择要与其他客户端密钥关联的客户端 ID。

  3. 在客户端 ID 详细信息页面上,选择“新建客户端密码”

  4. 选择所需的密码有效期。 选项为一年、两年或三年。

  5. 选择创建

  6. Get client secret (获取客户端密钥 ) 对话框中,将客户端密钥复制到安全位置,以便以后可以参考。

    重要

    客户端密码与客户端 ID 相关联,但不会再次显示在合作伙伴中心,因此请务必记录它。 此外,请记录开始日期和结束日期,以便您了解客户端密钥的有效期及其到期日期。

  7. 选择“完成” 。

    注意

    新的客户端密钥将在 15 分钟内处于活动状态。

删除客户端密钥

  1. 使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。

  2. 在“客户端 ID”选项卡上,选择具有要删除的客户端密码的客户端 ID 旁边的“删除”

    重要

    删除客户端密码可能会阻止您的外接程序访问它需要的数据,除非您创建了验证并与外接程序关联的额外密码。 您还必须将插件配置为使用额外的客户端密码。 如果只有一个客户端密钥与客户端 ID 关联,我们建议您在删除客户端密钥之前生成另一个客户端密钥。

  3. 在“确认”对话框中,选择“删除”

删除客户端 ID

在某些情况下,你可能希望删除客户端 ID,例如:

  • 不想再提供外接程序。
  • 想提供新的外接程序版本,并且不想再提供以前的版本。 在这种情况下,你可能希望删除与旧版外接程序关联的客户端 ID。

警告

删除与加载项关联的客户端 ID 会删除所有关联的客户端密码,并阻止它访问所需的数据。 然后,任何使用您的插件的客户在您删除与其关联的客户端 ID 后都会遇到停机。

  1. 使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。
  2. 在“客户端 ID”选项卡上,选择具有要删除的客户端密码的客户端 ID 旁边的“删除”
  3. 在“确认”对话框中,选择“删除”

删除客户端 ID,但继续提供外接程序

  1. 添加另一个客户端 ID 和至少一个有效的客户端密码。 有关详细信息,请参阅添加客户端 ID 和客户端密码

  2. 从代码中删除客户端 ID。

  3. 从合作伙伴中心删除客户端 ID,如前面的过程中所述。

  4. 将新的客户端 ID 和客户端密码添加到代码中。

  5. 在“产品概述”页面上,选择“发布”

    注意

    使用外接程序的客户在更新代码和合作伙伴中心审批过程中会遇到停机。