N8N中文教程
集成节点/Built in_nodes/Credentials

Salesforce 凭据#

你可以使用这些凭据来认证以下节点:

  • Salesforce
  • Salesforce 触发器

支持的认证方式#

  • JWT
  • OAuth2

相关资源#

更多关于该服务的信息,请参考 Salesforce 开发者文档。

使用 JWT#

要配置此凭据,你需要一个 Salesforce 账户,以及以下信息:

  • 你的 环境类型(生产环境或沙盒环境)
  • 客户端 ID(Client ID):创建已连接应用时生成
  • 你的 Salesforce 用户名(Username)
  • 用于自签名数字证书的 私钥(Private Key)

要进行设置,首先需要创建一个私钥和证书,然后创建一个已连接的应用程序(Connected App):

  1. 在 n8n 中,为你的连接选择 环境类型(Environment Type)。从 生产环境(Production)沙盒环境(Sandbox) 中选择最符合你当前环境的选项。

  2. 输入你的 Salesforce 用户名(Username)

  3. 登录到你的 Salesforce 组织(org)。

  4. 你需要一个由证书颁发机构签发的私钥和证书。可以使用你自己的密钥/证书,或使用 OpenSSL 创建一个私钥和自签名数字证书。有关如何创建密钥和证书的说明,请参考 Salesforce 官方文档 Create a Private Key and Self-Signed Digital Certificate。

  5. 在 Salesforce 的 设置(Setup) 中,在快速查找框输入 App Manager,然后选择 App Manager

  6. 在 App Manager 页面,点击 新建已连接应用(New Connected App)

  7. 填写已连接应用所需的 基本信息(Basic Info),包括 名称(Name)联系邮箱地址(Contact Email address)。更多详细信息,请参考 Salesforce 官方文档 Configure Basic Connected App Settings。

  8. 勾选 启用 OAuth 设置(Enable OAuth Settings) 选项。

  9. 回调 URL(Callback URL) 字段中,输入 http://localhost:1717/OauthRedirect

  10. 勾选 使用数字签名(Use digital signatures) 选项。

  11. 点击 选择文件(Choose File),上传包含你的数字证书的文件,例如 server.crt

  12. 添加以下 OAuth 权限范围(OAuth scopes)

    • 完全访问权限(full access, full)
    • 随时执行请求(refresh_token, offline_access)
  13. 点击 保存(Save),然后点击 继续(Continue)。此时应跳转至 管理已连接应用(Manage Connected Apps) 页面,并显示你刚刚创建的应用。

  14. API(启用 OAuth 设置) 区域,点击 管理消费者详情(Manage Consumer Details)

  15. 复制 消费者密钥(Consumer Key),并将其添加到 n8n 凭据中的 客户端 ID(Client ID) 字段。

  16. 将私钥文件的内容作为 私钥(Private Key) 输入到 n8n 中。

    • 使用 n8n 的多行编辑器。
    • 以标准 PEM 密钥格式输入私钥:
1
2
3

| ``` -----BEGIN PRIVATE KEY----- KEY DATA GOES HERE -----END PRIVATE KEY-----

---|---

这些步骤是 n8n 一侧所需的操作。Salesforce 还建议设置刷新令牌策略、会话策略和 OAuth 策略:

1. 在 Salesforce 中,选择 **Back to Manage Connected Apps**(返回管理已连接的应用程序)。
2. 选择 **Manage**(管理)。
3. 选择 **Edit Policies**(编辑策略)。
4. 查看 **Refresh Token Policy**(刷新令牌策略)字段。Salesforce 建议设置为 90 天后过期。
5. 在 **Session Policies**(会话策略)部分,Salesforce 建议将 **Timeout Value**(超时时间)设置为 15 分钟。
6. 在 **OAuth Policies**(OAuth 策略)部分,将 **Permitted Users**(允许的用户)设置为 **Admin approved users are pre-authorized for permitted users**(管理员批准的用户可预先授权),然后选择 **OK**(确定)。
7. 选择 **Save**(保存)。
8. 选择 **Manage Profiles**(管理配置文件),选中可预先授权使用此已连接应用程序的配置文件,然后选择 **Save**(保存)。
9. 选择 **Manage Permission Sets**(管理权限集)以选择相应的权限集。如有需要,请创建新的权限集。

有关更多信息,请参考 Salesforce 的 在您的组织中创建已连接的应用程序 文档。
## 使用 OAuth2#
要配置此凭据,您需要一个 Salesforce 账户。

> **n8n Cloud 用户注意**
Cloud 用户无需提供连接详情。选择 **Connect my account** 即可通过浏览器完成连接。
Cloud 和托管用户均需选择您的 **Environment Type(环境类型)**,可在 **Production(生产环境)** 和 **Sandbox(沙盒环境)** 之间选择。

如果您正在n8n 自托管,则需要从头开始配置 OAuth2,方法是创建一个已连接的应用程序:
  1. 在 n8n 中,为您的连接选择 **Environment Type(环境类型)**。根据您的实际情况选择 **Production(生产环境)** 或 **Sandbox(沙盒环境)**。
  2. 输入您的 Salesforce **Username(用户名)**。
  3. 登录到您的 Salesforce 组织(org)。
  4. 在 Salesforce 的 **Setup(设置)** 页面中,在 Quick Find 框内输入 `App Manager`,然后选择 **App Manager(应用程序管理器)**。
  5. 在 App Manager 页面上,选择 **New Connected App(新建已连接应用)**。
  6. 填写已连接应用所需的 **Basic Info(基本信息)**,包括 **Name(名称)** 和 **Contact Email Address(联系邮箱)**。更多详细信息,请参阅 Salesforce 的 配置已连接应用的基本设置 文档。
  7. 勾选 **Enable OAuth Settings(启用 OAuth 设置)** 复选框。
  8. 对于 **Callback URL(回调 URL)**,请输入 `http://localhost:1717/OauthRedirect`。
  9. 添加以下 **OAuth scopes(OAuth 范围)**:
     * **Full access (full)**(完全访问权限)
     * **Perform requests at any time (refresh_token, offline_access)**(可随时发起请求,包含 refresh_token 和 offline_access 权限)
  10. 确保取消勾选以下设置:
     * **Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows**(对支持的授权流程要求使用代码交换的证明密钥 PKCE 扩展)
     * **Require Secret for Web Server Flow**(Web 服务器流程要求密钥)
     * **Require Secret for Refresh Token Flow**(刷新令牌流程要求密钥)
  11. 选择 **Save(保存)**,然后点击 **Continue(继续)**。此时应打开 **Manage Connected Apps(管理已连接应用)** 页面,并显示您刚刚创建的应用。
  12. 在 **API (Enable OAuth Settings)** 部分,选择 **Manage Consumer Details(管理消费者详情)**。
  13. 复制 **Consumer Key(消费者密钥)**,并将其作为 **Client ID(客户端 ID)** 添加到您的 n8n 凭据中。
  14. 复制 **Consumer Secret(消费者密钥)**,并将其作为 **Client Secret(客户端密钥)** 添加到您的 n8n 凭据中。

以上步骤即为 n8n 所需的配置。Salesforce 还建议同时设置刷新令牌策略和会话策略:
  1. 在 Salesforce 中,选择 **Back to Manage Connected Apps(返回管理已连接应用)**。
  2. 选择 **Manage(管理)**。
  3. 选择 **Edit Policies(编辑策略)**。
  4. 查看 **Refresh Token Policy(刷新令牌策略)** 字段。Salesforce 建议将刷新令牌设置为 90 天后过期。
  5. 在 **Session Policies(会话策略)** 部分,Salesforce 建议将 **Timeout Value(超时时间)** 设置为 15 分钟。

请参考 Salesforce 的 在您的组织中创建已连接应用(Create a Connected App in Your Org) 文档以获取更多信息。