在合作伙伴中心创建或更新客户端 ID 和密码
警告
SharePoint 客户端 ID 管理服务正在经历关键更改。 需要Microsoft Azure AD/Entra 租户才能在 2023 年 3 月 1 日之后继续使用该服务,而不会中断。 转到合作伙伴中心帐户中的租户 设置 ,创建新的 Entra ID 或关联当前 ID 以继续使用该服务。
在 SharePoint 外接程序中更新即将过期的客户端密码
- 在合作伙伴中心生成并添加新的客户端密码,以与该特定外接程序客户端 ID 相关联。 有关具体步骤,请参阅本文后面的更新与客户端 ID 关联的客户端密码中的“生成附加客户端密码”。
- 更新远程 Web 应用程序以使用新的客户端密码。 有关如何使用 Microsoft Visual Studio 的 Office 开发人员工具执行此操作的信息,请参阅在 SharePoint 外接程序中替换即将过期的客户端密码中的“更新 Visual Studio 中的远程 Web 应用程序以使用新密码”。
- 重新发布远程 Web 应用程序。
重要
Microsoft Visual Studio 的 Office 开发人员工具支持设置辅助客户端密码,用于更新即将过期的客户端密码。
使用 OAuth 对外接程序进行身份验证和授权
Open Authorization (OAuth) 是一种开放的授权协议。 OAuth 支持以简单、标准的方式从桌面和 Web 应用程序进行安全授权。 使用该协议,用户可以批准应用程序代表其执行操作,而无需共享其用户名和密码。 例如,用户可以将存储在一个站点上的专用资源或数据(联系人列表、文档、照片、视频等)与另一个站点共享,而无需提供其凭据(通常是用户名和密码)。
使用 OAuth,用户可以授权服务提供商(例如 SharePoint)为其由给定服务提供商(例如 SharePoint)托管的数据提供令牌,而不是凭据(例如用户名和密码)。 每个令牌都授予特定站点(例如 SharePoint 文档存储库)在定义的持续时间内对特定资源(例如文件夹中的文档)的访问权限。 然后,用户可以授权第三方站点访问由另一个服务提供商(例如 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存储上发布产品/服务。 未能这样做可能会对客户应用的可用性产生负面影响。 建议将未发布的应用过渡到 SharePoint 解决方案 ,因为 SharePoint 加载项正在逐步淘汰。
使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。
在“客户端 ID”选项卡上,选择“添加新的客户端 ID”。
在“新客户端 ID”对话框中,提供以下信息。
项目 要提供的信息 友好名称 选择一个名称,帮助你识别哪个外接程序将使用此客户端 ID;例如,“日历应用” 应用域 提供将要运行外接程序的域。 例如: app.contoso.com
。
这必须是你拥有的有效域名;不得包含http://
或https://
,
并且它不能是国际域名应用重定向 URL 提供用户在同意对话框中同意外接程序的访问要求后,要将其发送到的重定向 URL。
此 URL 必须以https://
、http://
或ms-app://
选择“立即创建密码”。
选择客户端密码的有效期。 选项为一年、两年或三年。 建议选择一年,因为相比更长的时间段,这可能更易在业务流程中跟踪。 不过,选择两年或三年也没有安全影响。 当客户端密码过期时,需要更新外接程序。
选择客户端密码的可用性。 请选择以下选项之一:
- 此客户端 ID 将用于全球可用的应用。
- 此客户端 ID 将用于仅在中国提供的应用。
选择“立即创建密码”。
在“获取客户端密码”页面上,将客户端 ID 和客户端密码复制到一个安全的位置,以便日后参考。
重要
客户端密码与客户端 ID 相关联,但不会再次显示在合作伙伴中心。 还应记录开始日期和结束日期,以便了解客户端密码的有效期及其到期日期。 如果客户端密码即将过期,则需要生成一个新的客户端密码并更新外接程序。 有关详细信息,请参阅更新与客户端 ID 关联的客户端密码。
选择“完成” 。
更新与客户端 ID 关联的客户端密码
在以下情况下更新客户端密码:
客户端密码即将过期
建议在当前客户端密码仍然有效时,在合作伙伴中心添加新的客户端密码。 使用新的客户端密码更新外接程序,然后删除即将过期的客户端密码,方法是在合作伙伴中心的“客户端 ID”页面上选择该条目旁边的“删除”。
注意
Microsoft Visual Studio 的 Office 开发人员工具支持设置辅助客户端密码,用于更新即将过期的客户端密码。
客户端密码的安全性受到威胁
若要快速响应安全威胁,可以先从合作伙伴中心删除已泄露的客户端密码,添加新的客户端密码,然后使用新的客户端密码更新外接程序。
重要
在删除已泄露的客户端密码之后、添加新的客户端密码之前,外接程序可能暂时不可用。 这可能是可以接受的,具体取决于丢失或被盗的客户端密码对业务影响的严重程度。
生成附加客户端密码
使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。
在“客户端 ID”选项卡上,选择要与附加客户端密码关联的客户端 ID。
在客户端 ID 详细信息页面上,选择“新建客户端密码”。
选择所需的密码有效期。 选项为一年、两年或三年。
选择创建。
将“获取客户端密码”对话框中显示的客户端密码复制到一个安全的位置,以便日后参考。
重要
客户端密码与客户端 ID 相关联,但不会再次显示在合作伙伴中心。 记录开始日期和结束日期,以便了解客户端密码的有效期及其到期日期。
选择完成。
注意
新的客户端密码将在 15 分钟内生效。
删除客户端密码
使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。
在“客户端 ID”选项卡上,选择具有要删除的客户端密码的客户端 ID 旁边的“删除”。
重要
删除客户端密码可能会导致外接程序无法访问所需的数据,除非你创建了有效且与外接程序关联的附加密码,并且已将其配置为使用这些附加客户端密码。 如果客户端 ID 只关联了一个客户端密码,建议在删除它之前生成一个附加客户端密码。
在“确认”对话框中,选择“删除”。
删除客户端 ID
在某些情况下,你可能希望删除客户端 ID,例如:
- 不想再提供外接程序。
- 想提供新的外接程序版本,并且不想再提供以前的版本。 在这种情况下,你可能希望删除与旧版外接程序关联的客户端 ID。
警告
删除与外接程序关联的客户端 ID 会删除所有关联的客户端密码,并导致其无法访问所需的数据。 删除与外接程序关联的客户端 ID 后,所有使用该外接程序的客户都会遇到故障。
删除客户端 ID
- 使用开发人员帐户登录到合作伙伴中心,然后转到外接程序的“产品概述”页面。
- 在“客户端 ID”选项卡上,选择具有要删除的客户端密码的客户端 ID 旁边的“删除”。
- 在“确认”对话框中,选择“删除”。
删除客户端 ID,但继续提供外接程序
添加另一个客户端 ID 和至少一个有效的客户端密码。 有关详细信息,请参阅添加客户端 ID 和客户端密码。
从代码中删除客户端 ID。
从合作伙伴中心删除客户端 ID,如前面的过程中所述。
将新的客户端 ID 和客户端密码添加到代码中。
在“产品概述”页面上,选择“发布”。
注意
使用外接程序的客户将在代码更新和合作伙伴中心审批过程中遇到故障。