注册 API 客户端
安全性:“System”功能区域中的以下域:
- 设置:租户设置 - 安全性
- 安全管理
Workday 支持将 OAuth 2.0 作为 Workday API 基础架构的一部分。OAuth 2.0 允许 Workday 用户授权第三方客户端代替他们安全地访问 Workday 数据。
要访问 Workday API,请向 Workday 注册 OAuth 2.0 客户端。您可以允许 OAuth 2.0 客户端访问每个租户的 Workday API。
- 访问“编辑租户设置 - 安全性”任务。
- 在“OAuth 2.0 设置”版块中,选中“OAuth 2.0 Clients Enabled”复选框。
- 访问“Register API Client”任务。
- 输入“客户端名称”。
- 选择“客户授予类型”。
选项 描述 授权代码授予用于可保存数据的客户端,例如移动应用程序。隐式授予(不使用)对于不包含服务器端组件的应用程序(例如 JavaScript 应用程序),这是必需的。Workday 计划在将来的发行版中弃用此客户端授予类型。我们建议您改用以下客户端授予类型:- 支持 PKCE 的授权代码授予。
- JWT 持有者授权
JWT 持有者授权将 JSON Web 令牌 (JWT) 用于客户端,例如 Salesforce 集成。通过此授予类型,您可以将访问令牌和刷新令牌的安全声明交换限制为您在“集成系统用户”字段中选择的“集成系统用户”(ISU)。 提供用于验证签名的x509 证书。您还可以选中“允许集成消息”复选框,以确保 Workday 收到有关集成状态的必要信息。SAML 持有者授权用于使用 SAML 单点登录进行身份验证的应用程序。同时选择“Assertion Verification”。选择:- 使用已配置的 IdP:使用在“编辑租户设置 - 安全性”中配置的 SAML IdP 的 X.509 公用证书来验证签名。在本例中,签发机构为 IdP。
- 使用“证书(x509 选项)”指定用于验证签名的x509 证书。在本例中,签发机构是 API 客户端编号。 您还可以有选择性地在“集成系统用户”字段中选择 ISU,以限制与这些 ISU 进行安全声明交换以获取访问令牌和刷新令牌。
您还可以:- 选中“允许所有系统用户访问”复选框,允许所有用户(而不仅仅是集成系统用户 (ISU))使用 SAML 持有者声明流。
- 选中“允许集成消息”复选框,以确保 Workday 收到有关集成状态的必要信息。
- (可选)在使用“Authorization Code Grant”客户端授予类型为您的客户端添加 PKCE 支持时,请选中“Support Proof Key for Code Exchange (PKCE)”复选框。PKCE 使客户端能够减轻授权码被截获的威胁。如果客户端将支持启用了跨源资源共享 (CORS) 的跨源请求,请选中此复选框。
- (可选)选中“强制访问令牌在 60 分钟内过期”复选框,使 API 客户端能够返回符合以下条件的持有令牌:
- 有效期为 60 分钟。
- 只要会话未过期,会话结束时不会使其失效。
“确定”后,您无法将其清除。 - 在“x509 Certificate”字段中选择 X.509 公钥。当您选择以下选项时,此字段有效:
- 在“Client Grant Type”中选择“JWT Bearer Grant”。
- 将“SAML Bearer Grant”用作“Client Grant Type”,并将“Use Certificate (x509 option)”用作“Assertion Verification”。
- (可选)在“集成系统用户”字段中选择 1 个或多个 ISU。当“x509 证书”字段处于活动状态时,将显示此字段。 如果您未在此字段中选择任何 ISU,API 客户端将不会根据 ISU 用户帐户限制访问权限。如果您选择 1 个或多个 ISU,则尝试使用其他用户登录将失败。Workday 建议您将客户端的访问权限限制为特定的 ISU。
- 选择“访问令牌类型”。
选项 描述 持有者使开发更简单。MAC(不使用)提供更高的安全性。Workday 计划在将来的版本中弃用此访问令牌类型。我们建议您改用不记名令牌。 - 输入重定向 URI。
- 使用逗号作为分隔符可指定多个重定向 URI。
- 对于授权码授予客户端授予类型,只有以 https 开头的安全 URI 才有效。
- 对于启用了代码交换证明密钥 (PKCE) 的隐式授予和授权码授予,只有以 https 开头的安全 URI 和自定义域 URI 才有效。示例:OfficeConnect://test.com 和 https://google.com。
- (可选)选择“刷新令牌超时(天)”。您可以选择 1 到 365 天之间的一个值。默认值为 30 天。刷新令牌的频率限制为每个用户每秒 1 个令牌。
- (可选)选中“刷新令牌不会过期”复选框,以防止刷新令牌超时。
- (可选)选中“已禁用”复选框,以阻止客户端请求访问 Workday。
- 如果您想在租户范围内向 REST API 客户端授予 OAuth 许可,请选中“授予管理许可”复选框。选中后,用户无需明确授予客户端对 Workday 功能区域的访问权限。
- 从“Scope (Functional Areas)”提示中,选择 OAuth 2.0 客户端需要访问权限的功能区域。选择 Workday 为 Workday REST API 启用的功能区域。同时,为您可能需要访问权限的任何自定义对象的域选择功能区域。请务必小心,仅显示您明确要求访问的功能区域。
- (可选)当您的 OAuth 2.0 客户端需要访问不在任何功能区域中的 Workday 核心域时,请选中“Include Workday Owned Scope”复选框。
- (可选)如果您希望 Workday 仅授权来自指定 IP 地址范围的 OAuth 2.0 客户端访问,请从“限定的 IP 范围”提示中选择范围。您还可以选择“创建 IP 范围”,以使用以下格式之一创建以逗号分隔的已命名 IP 地址列表:
- X.X.X.X.
- CIDR 表示法。示例:192.168.0.1/24。
- X.X.X.X - Y.Y.Y.Y.
Workday 对包含短划线的 IP 范围有限制。在您开始使用以该格式输入的 IP 范围后,如果您在“登录和尝试登录次数”报告中遇到登录错误,请执行以下操作:- 要查看该范围是否细分为一系列较小的段,请使用可将 IP 地址范围转换为 CIDR 表示法的工具。您可以在线获取此类第三方 CIDR 计算器工具。
- 在 Workday 中以逗号分隔的列表形式重新输入该工具返回的各个段的“IP 范围”。示例:199.67.128.0/18、199.67.192.0/24 或 199.67.128.0-199.67.191.255、199.67.192.0-199.67.192.255。
- 在“允许的来源”网格中,为每个已启用跨源请求的域添加一行。这些域必须开头为https://或chrome-extension://并使用 CORS 格式。在响应来自“Allowed Origin”域的跨源请求时,Workday 可能会添加 CORS 标头。Workday 仅支持使用“授权代码”授予类型且支持 PKCE 的客户端的跨域申请。
Workday 会为 OAuth 2.0 客户端生成客户端 ID 和客户端密码。在离开该页面之前,复制客户端密码并将其安全存储。如果您丢失了客户端密码,可以使用
“生成新的 API 客户端密码”
任务生成新的密码。Workday 可以在更新中提供 OAuth 2.0 客户端。默认情况下,Workday 提供的所有 OAuth 2.0 客户端均处于禁用状态。
如果要为 OAuth 2.0 客户端生成新的客户端密码,请执行以下操作:
- 访问“Generate New API Client Secret”任务。
- 从提示中选择“API 客户端”。
- 选中“确认”复选框。
如果 OAuth 2.0 客户端已在使用中,则生成新的客户端密码将导致客户端不可用。