Skip to main content

从 OAuth1 转换为 OAuth2 的说明

从22.1版本开始,我们摒弃了传统的公共OAuth1 API端点,因为它们需要不符合FIPS标准的SHA1哈希。摒弃内容包括传统的 WCF(Windows通信框架)端点、用于这些传统端点的Swagger以及OAuth1中间件。要替换 OAuth1 端点,您可以使用 21.4 版发布且符合 FIPS 标准的旧版 API 的 OAuth2 版本。使用 OAuth2 API 时,功能体验与 OAuth1 API 相同。唯一的例外是 GET/workflows/id/package 调用目前返回一个文件,而不是一个二元对象。

OAuth2 将继续支持订阅、V1 和 V2 端点。

如何从 OAuth1 转换为 OAuth2

更新脚本

  • 如果您当前使用的是 21.4 版,并且正在升级到 22.1 版或任何后续版本,则可以在不停机的情况下更新 API 脚本,因为 21.4 版提供了 OAuth1 API 和 OAuth2 API。我们建议您在升级之前更新 OAuth1 API 脚本。

  • 如果要从 21.4 版以外的 Server 版本升级到 22.1 版,则在升级后您需要将脚本更新为 OAuth2 API,然后脚本才能运行。

  • 您必须使用新的 OAuth2 模式更新 OAuth1 API 调用。为此,您需要更新现有脚本的两个方面:

    • 基 URL <hostname>/gallery/api/ 更改为 <hostname>/Webapi/

    • 授权类型 从 OAuth1 更改为 OAuth2。

  • 如果升级到 22.1 版并尝试在不更新 API 脚本的情况下运行 OAuth 1 API,这些脚本将会失败。

此更新估计最多需4小时左右。如果您遵循最佳实践,即在一个位置进行身份验证,并在一个位置定义基 URL,则此估计值将适用。如果您在多个位置和脚本中进行身份验证,并在多个位置和脚本中使用完整的硬编码 URL,则更新过程可能会更加繁琐。要加快速度,您可以使用 查找和替换

测试

执行快速Smoke测试以确保验证工作正常。但是,由于我们不知道您如何使用 API,因此无法确定测试需要多长时间。

注意

OAuth1和OAuth2的请求和响应之间的差异很小,如下所示:

  • GET v1/jobs/{id} 现在包含换行符和空格,这在以前是不存在的。根据您处理响应的方式,这可能需要对脚本进行调整。

  • GET v1/workflows/{id}/package 返回一个文件而不是 JSON blob。

  • GET v1/jobs/{id}/output/{id} 需要 Oauth2 中的格式参数。在Oauth1中,此参数是可选的。

    Format parameter required for Oauth2 version.

要详细了解转换及其影响,请转至 转换说明