为Workfront集成创建OAuth2应用程序

作为Adobe Workfront管理员,您可以为您的Workfront实例创建OAuth2应用程序,这将允许其他应用程序访问Workfront。 然后,您的用户可以授予这些其他应用程序访问其Workfront数据的权限。 通过这种方法,您可以集成 包括您自己的内部应用程序在内。

创建OAuth2应用程序时,将生成客户端ID和客户端密钥。 然后,您的用户便可以在API调用中使用客户端ID,将与您创建的应用程序集成。

NOTE
在OAuth2的上下文中,“创建应用程序”是指在应用程序和服务器(如Workfront)之间创建此类访问链接的过程。

访问要求

展开以查看本文中各项功能的访问要求。

您必须具有以下权限才能执行本文中的步骤:

table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
Adobe Workfront 计划* 任何
Adobe Workfront 许可证*

新文档: Standard

当前:计划

访问级别配置* 您必须是Workfront管理员。

*要了解您拥有什么计划、许可证类型或访问权限,请与Workfront管理员联系。

OAuth2概述

假设应用程序必须从Workfront中提取一些特定信息。 请求信息的应用程序称为客户端。 在此示例中,客户端名称为ClientApp。 ClientApp需要访问特定用户的信息,因此必须以该用户的身份访问Workfront。 如果用户为ClientApp提供用户名和密码,则ClientApp可以访问用户可以访问的所有数据。 这会带来安全风险,因为ClientApp只需要一小部分特定信息。

在为ClientApp创建OAuth2应用程序时,实际上是在告知Workfront ClientApp允许访问Workfront,但前提是帐户为ClientApp所访问的用户授予了访问权限。

创建OAuth2应用程序

创建OAuth2应用程序时,请选择最符合集成需求的应用程序类型。

应用程序类型
最适合
身份验证方法
机器对机器应用程序

最适合在服务器上运行的CLI、守护程序或脚本

示例:

  • Shell

  • Python

通过使用公钥/私钥对编码的 JSON Web 令牌进行身份验证。
单页 Web 应用程序

最适合移动设备或单页Web应用程序

示例:

  • Javascript

  • Angular

  • React

  • Vue

通过使用 Proof Key for Code Exchange (PKCE) 的 OAuth 2.0 授权代码流进行身份验证。
Web 应用程序

最适合在服务器上处理凭据和令牌的服务器端应用程序

示例:

  • Go

  • Java

  • ASP.Net

  • Node.js

  • PHP

通过 OAuth 2.0 授权代码流进行身份验证。
NOTE
您一次最多可以拥有10个OAuth2应用程序。

使用服务器身份验证(JWT流)创建OAuth2应用程序 create-an-oauth2-application-using-server-authentication-jwt-flow

  1. 单击Adobe Workfront右上角的​ 主菜单 ​图标 主菜单 ,或(如果可用)单击左上角的​ 主菜单 ​图标 主菜单 ,然后单击​ 设置 设置图标

  2. 在左侧导航面板中,单击​ 系统,然后选择​ OAuth2应用程序

  3. 单击​ 创建应用集成
    将显示​ 新OAuth2应用程序 ​框。

  4. 在​ 新OAuth2应用程序 ​框中,选择​ 计算机到计算机应用程序

  5. 输入新应用程序的名称,如“Workfront for ClientApp”。

  6. 单击​ 创建

  7. 填写新应用程序的字段。

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header
    客户端ID 此字段是自动生成的。
    客户端密码

    此字段是自动生成的

    重要信息

    在关闭此页之前,将此字段的内容复制到另一个安全文件。 您将无法再次看到此密钥。

    如果丢失此密钥,请删除它并创建客户端密钥。

    1. 单击 Delete 图标 可删除当前客户端密钥。

    2. 单击 添加客户端密钥 以生成新的客户端密钥。

    公钥

    服务器到服务器应用程序使用公钥和私钥进行身份验证。 执行下列操作之一:

    • 单击 Add a public key,然后输入另一个应用程序的公共密钥。

    • 单击 生成公钥/私钥对,然后与其他应用程序共享公钥。

    名称 该名称与您为应用程序提供的名称相同。 此字段不能为空。
    描述 输入集成的说明。
  8. 单击​ 保存

有关通过用户凭据(授权代码流)配置和使用OAuth2应用程序的说明,请参阅使用JWT流配置和使用您组织的自定义OAuth2应用程序

使用用户凭据创建OAuth2应用程序(授权代码流) create-an-oauth2-application-using-user-credentials-authorization-code-flow

  1. 单击Adobe Workfront右上角的​ 主菜单 ​图标 主菜单 ,或(如果可用)单击左上角的​ 主菜单 ​图标 主菜单 ,然后单击​ 设置 设置图标

  2. 在左侧导航面板中,单击​ 系统,然后选择​ OAuth2应用程序

  3. 单击​ 创建应用集成

    显示​ 新OAuth2应用程序

  4. 在​ 新OAuth2应用程序 ​框中,选择​ Web应用程序

  5. 输入新OAuth2应用程序的名称,例如“Workfront for ClientApp”。

  6. 单击​ 创建

  7. 填写新应用程序的字段。

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 layout-auto html-authored no-header
    客户端ID 此字段是自动生成的。
    客户端密码

    此字段是自动生成的

    重要信息

    在关闭此页之前,将此字段的内容复制到另一个安全文件。 您将无法再次看到此密钥。

    如果丢失此密钥,请删除它并创建客户端密钥。

    1. 单击 Delete 图标 可删除当前客户端密钥。

    2. 单击 添加客户端密钥 以生成新的客户端密钥。

    重定向URL 用户使用Workfront进行身份验证后,会被重定向到此路径。
    刷新令牌轮换 启用此选项可在使用刷新令牌时发出新的刷新令牌。您的应用程序必须在每次刷新后存储新的刷新令牌。
    绝对刷新令牌过期 选择刷新令牌过期前希望存在的时间。 过期后,您的用户必须再次登录该集成。 如果不希望刷新令牌过期,请选择“无过期”。
    不活动刷新令牌期限

    选择多长时间,如果用户在您的系统中未处于活动状态,则其刷新令牌将过期。

    例如,如果非活动刷新令牌过期时间为6个月,而用户在6个月内未登录,则刷新令牌将过期,即使绝对刷新令牌过期时间可能设置为更长。

    徽标 您可以添加徽标,使此应用程序更易于识别。
    名称 该名称与您为应用程序提供的名称相同。 此字段不能为空。
    描述 输入集成的说明。
    应用程序描述URL 这可以是指向“关于我们”页面的链接,也可以是包含有关集成的更多信息的页面。
  8. 单击​ 保存

有关通过用户凭据(授权代码流)配置和使用OAuth2应用程序的说明,请参阅使用授权代码流配置和使用您组织的自定义OAuth2应用程序

使用PKCE创建OAuth2单页Web应用程序 create-an-oauth2-single-page-web-application-using-pkce

  1. 单击Adobe Workfront右上角的​ 主菜单 ​图标 主菜单 ,或(如果可用)单击左上角的​ 主菜单 ​图标 主菜单 ,然后单击​ 设置 设置图标

  2. 在左侧导航面板中,单击​ 系统,然后选择​ OAuth2应用程序

  3. 单击​ 创建应用集成

    将显示​ 新OAuth2应用程序 ​框。

  4. 在​ 新OAuth2应用程序 ​框中,选择​ 单页Web应用程序

  5. 输入新OAuth2应用程序的名称,例如“Workfront for ClientApp”。

  6. 单击​ 创建

  7. 填写新应用程序的字段。

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 layout-auto html-authored no-header
    客户端ID 此字段是自动生成的。
    重定向URL 用户通过Workfront身份验证后,会被重定向到此路径。
    每次使用令牌时都会轮换刷新令牌 启用此选项可在使用刷新令牌时发出新的刷新令牌。您的应用程序必须在每次刷新后存储新的刷新令牌。
    绝对过期 选择刷新令牌过期前希望存在的时间。 过期后,您的用户必须再次登录该集成。 如果不希望刷新令牌过期,请选择“无过期”。
    非活动状态过期

    选择多长时间,如果用户在您的系统中未处于活动状态,则其刷新令牌将过期。

    例如,如果非活动刷新令牌过期时间为6个月,而用户在6个月内未登录,则刷新令牌将过期,即使绝对刷新令牌过期时间可能设置为更长。

    徽标 您可以添加徽标,使此应用程序更易于识别。
    名称 该名称与您为应用程序提供的名称相同。 此字段不能为空。
    描述 输入集成的说明。
    开发人员姓名 这是正在设置OAuth2应用程序的开发人员的姓名。
    开发人员电子邮件地址 这是设置OAuth2应用程序的开发人员的电子邮件地址。
    隐私策略URL 这是指向您的组织存储隐私策略的位置的链接。
  8. 单击​ 保存

配置并使用创建的OAuth2应用程序

进一步配置和使用创建的OAuth2应用程序需要一些技术知识,包括API调用。

用于授权代码流的OAuth2进程

NOTE
您的用户通过API访问OAuth2应用程序。 本节将笼统地介绍这些功能,仅供参考。
有关使用OAuth2应用程序(包括特定API调用)的特定说明,请参阅使用授权代码流配置和使用您组织的自定义OAuth2应用程序

使用授权代码和访问令牌进行授权 authorizing-with-an-authorization-code-and-access-token

  1. ClientApp需要来自Workfront的一些信息,因此它向Workfront API /authorize终结点发送请求。 该请求包括response_type code,这表示该请求应返回授权代码。

  2. 这会触发Workfront向用户发送身份验证提示。 用户可以在提示中输入其凭据,这将授予Workfront与ClientApp通信的权限。 如果用户已登录Workfront,则可以跳过此步骤。

  3. Workfront API向ClientApp发送授权代码。

  4. ClientApp在请求中将以下信息发送到Workfront API /token 端点:

    • 在步骤3中发送到ClientApp的授权代码。 这会标识用户权限的特定实例。
    • 在Workfront中设置ClientApp OAuth2应用程序时生成的客户端密钥。 这允许Workfront知道请求来自ClientApp。
  5. 如果授权代码和客户端密钥正确,Workfront将访问令牌发送到ClientApp。 此访问令牌直接从Workfront发送到ClientApp,任何其他用户或客户端应用程序无法查看、复制或使用。

  6. ClientApp将访问令牌连同特定的信息请求一起发送到Workfront。

  7. 由于访问令牌正确,Workfront将信息发送到ClientApp。

刷新访问令牌

为安全起见,访问令牌会在较短时间后过期。 要获取新的访问令牌而无需每次都输入凭据,OAuth2使用刷新令牌。 刷新令牌由客户端存储。

获取刷新令牌的过程与授权授权授权代码和访问令牌一节中讨论的过程相同。 授权代码的请求包含范围offline_access,该范围指示请求应随授权代码一起返回请求令牌。

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43