为 API 集成启用 OAuth 设置
您可以使用连接的应用程序,以代表外部应用程序请求对 Salesforce 数据的访问权限。对于请求访问权限的连接的应用程序,必须使用 OAuth 2.0 协议与 Salesforce API 集成。OAuth 2.0 是一个开放协议,它通过交换令牌来授权应用程序之间的安全数据共享。在开发人员或独立软件供应商 (ISV) 想要将应用程序与 Salesforce 集成时,将使用 OAuth API。通过 OAuth API,支持用户使用一个应用程序工作,但从其他应用程序查看数据。
所需的 Edition
| 适用于 Salesforce Classic 和 Lightning Experience |
连接的应用程序可在以下版本中创建:Group、Essentials、Professional、Enterprise、Performance、Unlimited 和 Developer Edition 连接的应用程序可在以下版本中安装:所有版本 |
| 所需用户权限 | |
|---|---|
| 要阅读、创建、更新或删除连接的应用程序: | 自定义应用程序权限与任一 修改所有数据权限或管理连接的应用程序权限 |
| 要更新除“简档”、“权限集”和“服务提供商 SAML 属性”之外的所有字段: | 自定义应用程序权限与任一 修改所有数据权限或管理连接的应用程序权限 |
| 要更新“简档”、“权限集”和“服务提供商 SAML 属性”: | “自定义应用程序”、“修改所有数据”和“管理简档和权限集” |
| 要轮换消费者密钥和消费者密码: | 允许消费者密钥和密码轮换 |
| 要安装和卸载连接的应用程序: | 自定义应用程序权限与任一 修改所有数据权限或管理连接的应用程序权限 |
| 要安装和卸载封装的连接的应用程序: | 下载 AppExchange 软件包和自定义应用程序权限,以及任一权限 修改所有数据权限或管理连接的应用程序权限 |
- 创建连接的应用程序,并填写基本信息。
- 在页面的 API(启用 OAuth 设置)区域中,选择启用 OAuth 设置。
-
如果您在输入或显示能力有限的设备(例如电视、电器或命令行应用程序)上为外部应用程序设置连接的应用程序,选择为设备流启用。
回调 URL 不在设备流中使用。但在启用此流时,回调 URL 的值默认设置为占位符。您可以根据需要指定回调 URL,例如在此相同客户端用于不同流时。
-
输入 Salesforce 在 OAuth 期间回调给应用程序的回拨 URL(端点)。这将与 OAuth 重定向 URI 相同。
根据您使用的 OAuth 流程,通常这就是在成功验证后,用户的浏览器重定向的 URL。因为此 URL 用于某些 OAuth 流程以传递访问权限标记,所以 URL 必须使用安全 HTTPS 或自定义 URI 方案。如果输入多个回调 URL,在运行时,Salesforce 会使用回调 URL 中的一个值与该应用程序指定的 回调 URL 值匹配。它必须与其中一个值匹配才能通过验证。用换行符分隔多个回调 URL。回调 URL 字段累计限制为 2000 个字符。如果您输入多个 URL 并超过此限制,请创建另一个连接的应用以管理更多回调 URL。
-
如果您使用的是 JWT OAuth 流程,请选择使用数字签名。如果应用程序使用证书,单击选择文件,并在系统中浏览证书,以上载 JWT OAuth 流。
重要 证书限制为 4000 个字符,文件必须小于 4 KB。 - 选择要应用于连接的应用程序的 OAuth 范围。OAuth 范围定义连接的应用程序的权限;在对应用程序进行身份验证后,这些权限将授予为令牌。OAuth 标记名称会用括号表示。有关范围及其描述的列表,请参阅OAuth 令牌和范围。
-
要为所有受支持版本的 OAuth 2.0 授权代码流要求 OAuth 2.0 代码交换验证密钥 (PKCE) 扩展,请选择受支持的授权流需要代码交换验证密钥 (PKCE) 扩展。
此设置要求 Web 服务器流、混合 Web 服务器流、授权代码和凭据流以及授权代码和凭据流的所有变体(包括无头注册、无头无密码登录和来宾用户的无头身份)都具有 PKCE。启用此设置后,任何未实施 PKCE 的流都会被此连接的应用阻止。有关使用 PKCE 保护应用程序的更多信息,请参阅代码交换证明密钥 (PKCE) 扩展。
-
若要求应用程序的客户端密码交换访问令牌,请选择需要 Web 服务器流的密码。
重要 如果客户端应用程序无法保留客户端机密,且必须使用 Web 服务器流,取消选择需要 Web 服务器流的密码。我们仍会为应用程序生成客户端密码,但此设置会指示 Web 服务器流在访问标记请求中不需要 client_secret 参数。我们会将用户客服人员建议为更为安全的选项,而不是没有机密的 Web 服务器。 -
若要在刷新标记和混合刷新标记流的授权请求中要求使用客户端密码,请选择需要刷新标记流的密码。如果您没有选择此选项,并且应用程序在授权请求中发送了客户端密码,Salesforce 仍会验证它。
对于可以保护客户端密码的基于 Web 服务器的应用程序,您可以选择此选项。但是对于无法保护客户端密码的应用程序,例如移动应用程序或安装在用户计算机上的应用程序,我们建议不要选择此选项。
备注 对于新连接的应用程序,此选择会自动启用。对于 Spring ’21 版本之前创建的连接的应用程序,此选择不会自动启用。 - 要配置客户端凭据流的设置,请参见为 OAuth 2.0 客户端凭据流配置连接的应用程序。
- 要配置授权代码和凭据流的设置,请参阅为授权代码和凭据流配置连接的应用程序。
- 要配置令牌交换流的设置,请参见为令牌交换流集成应用程序。
-
要在每次调用刷新令牌流时获取新刷新令牌,请选择启用刷新令牌轮换。
启用此设置是安全最佳实践。启用此设置后,旧的刷新令牌在使用后会自动失效,因此每个令牌仅使用一次。如果有人试图使用已轮换的刷新令牌,Salesforce 会使当前刷新令牌和任何关联的访问令牌无效。
- 要配置基于 JSON Web 令牌 (JWT) 的访问令牌,请参见启用基于 JSON Web 令牌 (JWT) 的访问令牌。
-
要授权一个连接的应用程序在整个组织中自检所有访问权限和刷新令牌,选择自检所有令牌。
默认情况下,所有连接的应用程序可以自行自检令牌。此外,对于通过动态客户端注册端点直接注册 OAuth 2.0 连接的应用程序的 OAuth 客户端,将可以查看自己及其注册的应用程序的令牌。请查看 OpenID Connect 令牌自检。
-
要控制 OAuth 请求如何处理 ID 令牌,则选择配置 ID 令牌。
如果 OAuth 请求包含 允许访问您的唯一标识符 (openid) 范围,则返回的令牌包含 ID 令牌。
ID 令牌始终包含在访问令牌响应中。
通过启用的主要 ID 标记设置,在两个访问权限中配置控制 ID 标记内容的次要设置,并刷新标记响应。指定这些设置。
设置 说明 令牌有效期 在签发后,ID 令牌的时间长度有效。该时期介于 1 至 720 分钟。默认为 2 分钟。 ID 令牌受众 ID 标记的预期消费者。例如,您使用 ID 令牌的目标服务,例如 https://your_service.com。 包括标准要求 包含标准要求,其中包括有关用户的信息,例如用户名称、简档、电话号码和地址。OpenID Connect 规格会定义 ID 标记中返回的标准要求集。 包括自定义属性 如果您的应用程序已指定自定义属性,则将其包含在 ID 标记中。 包含自定义权限 如果您的应用程序已指定自定义权限,则将其包含在 ID 标记中。 -
如果您正在设置应用程序为连接的设备发行资产令牌,请选择启用资产令牌,并指定这些设置。
设置 说明 令牌有效期 在签发后,资产标记的时间长度有效。 资产签名证书 您为签署资产令牌而创建的自签名证书。证书大小限制为 4 KB。 资产用户 资产标记的预期消费者。例如,连接设备的后端服务,例如 https://your_device_backend.com。 包括自定义属性 如果您的应用程序已指定自定义属性,则将其包含在资产标记中。 包含自定义权限 如果您的应用程序已指定自定义权限,则将其包含在资产标记中。 请确保指定回调 URL(端口)。例如,https://your_device_backend.com/callback。
选择访问并管理数据 (api) 和允许访问唯一标识符 (openid) OAuth 范围,这对于资产令牌是必填项。
-
要将单点注销用于 Salesforce 是 OpenID Connect 提供商的用例,请选择启用单点注销,然后输入单点注销 URL 以确定 Salesforce 发送注销请求的位置。单点注销 URL 必须是以 https:// 开头的绝对 URL。
这些设置只是单点注销配置的一部分。要完成设置单点注销,请设置用户在注销后重定向的 URL,并与 OpenID Connect 提供商共享信息。请参阅使用 Salesforce 作为 OpenID Connect 提供商配置 OpenID Connect 单点注销。
- 为连接的应用程序配置所有设置后,保存您的更改。
有关配置 OAuth 流的帮助,请查看 Salesforce 帮助中的 OAuth 授权流。

