Salesforce 凭据#
您可以使用这些凭据来验证以下节点:
支持的认证方法#
- JWT
- OAuth2
相关资源#
参考 Salesforce 的开发者文档了解有关该服务的更多信息。
使用 JWT#
要配置此凭据,您需要一个 Salesforce 账户和:
- 您的 Environment Type 环境类型(Production 或 Sandbox)
- 一个 Client ID 客户端 ID:创建连接应用时生成。
- 您的 Salesforce Username 用户名
- 用于自签名数字证书的 Private Key 私钥
要设置,首先您将创建私钥和证书,然后创建连接应用:
- 在 n8n 中,为您的连接选择 Environment Type。从 Production 或 Sandbox 中选择最能描述您环境的选项。
- 输入您的 Salesforce Username。
- 登录到您在 Salesforce 中的组织。
- 您需要由认证机构颁发的私钥和证书。使用您自己的密钥/证书或使用 OpenSSL 创建密钥和自签名数字证书。参考 Salesforce 创建私钥和自签名数字证书文档以获取创建您自己的密钥和证书的说明。
- 从 Salesforce 的 Setup 中,在快速查找框中输入
App Manager,然后选择 App Manager。 - 在 App Manager 页面上,选择 New Connected App。
- 输入连接应用所需的 Basic Info,包括 Name 和 Contact Email address。参考 Salesforce 的配置基本连接应用设置文档了解更多信息。
- 勾选 Enable OAuth Settings 复选框。
- 对于 Callback URL,输入
http://localhost:1717/OauthRedirect。 - 勾选 Use digital signatures 复选框。
- 选择 Choose File 并上传包含您的数字证书的文件,如
server.crt。 - 添加这些 OAuth scopes:
- Full access (full)
- Perform requests at any time (refresh_token, offline_access)
- 选择 Save,然后 Continue。Manage Connected Apps 页面应该打开到您刚创建的应用。
- 在 API (Enable OAuth Settings) 部分,选择 Manage Consumer Details。
- 复制 Consumer Key 并将其作为 Client ID 添加到您的 n8n 凭据中。
- 在 n8n 中输入私钥文件的内容作为 Private Key。
- 在 n8n 中使用多行编辑器。
- 以标准 PEM 密钥格式输入私钥:
1 2 3
-----BEGIN PRIVATE KEY----- KEY DATA GOES HERE -----END PRIVATE KEY-----
这些是 n8n 方面所需的步骤。Salesforce 也建议设置刷新令牌策略、会话策略和 OAuth 策略:
- 在 Salesforce 中,选择 Back to Manage Connected Apps。
- 选择 Manage。
- 选择 Edit Policies。
- 检查 Refresh Token Policy 字段。Salesforce 建议使用90天后过期刷新令牌。
- 在 Session Policies 部分,Salesforce 建议将 Timeout Value 设置为15分钟。
- 在 OAuth Policies 部分,为 Permitted Users 选择 Admin approved users are pre-authorized for permitted users,并选择 OK。
- 选择 Save。
- 选择 Manage Profiles,选择预授权使用此连接应用的配置文件,并选择 Save。
- 选择 Manage Permission Sets 以选择权限集。如有必要,创建权限集。
参考 Salesforce 的在您的组织中创建连接应用文档了解更多信息。
使用 OAuth2#
要配置此凭据,您需要一个 Salesforce 账户。
n8n 云服务用户注意事项
云服务用户无需提供连接详细信息。选择连接我的账户通过浏览器进行连接。
云端和托管用户需要选择您的 Environment Type。在 Production 和 Sandbox 之间选择。
如果您自托管 n8n,您需要通过创建连接应用从头配置 OAuth2:
- 在 n8n 中,为您的连接选择 Environment Type。从 Production 或 Sandbox 中选择最能描述您环境的选项。
- 输入您的 Salesforce Username。
- 登录到您在 Salesforce 中的组织。
- 从 Salesforce 的 Setup 中,在快速查找框中输入
App Manager,然后选择 App Manager。 - 在 App Manager 页面上,选择 New Connected App。
- 输入连接应用所需的 Basic Info,包括 Name 和 Contact Email address。参考 Salesforce 的配置基本连接应用设置文档了解更多信息。
- 勾选 Enable OAuth Settings 复选框。
- 对于 Callback URL,输入
http://localhost:1717/OauthRedirect。 - 添加这些 OAuth scopes:
- Full access (full)
- Perform requests at any time (refresh_token, offline_access)
- 确保以下设置未勾选:
- Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows
- Require Secret for Web Server Flow
- Require Secret for Refresh Token Flow
- 选择 Save 保存,然后 Continue 继续。Manage Connected Apps 管理连接应用页面应该打开到您刚创建的应用。
- 在 API (Enable OAuth Settings) API(启用 OAuth 设置)部分,选择 Manage Consumer Details 管理使用者详细信息。
- 复制 Consumer Key 使用者密钥并将其作为 Client ID 客户端 ID 添加到您的 n8n 凭据中。
- 复制 Consumer Secret 使用者密钥并将其作为 Client Secret 客户端密钥添加到您的 n8n 凭据中。
这些是 n8n 方面所需的步骤。Salesforce 也建议设置刷新令牌策略和会话策略:
- 在 Salesforce 中,选择 Back to Manage Connected Apps 返回管理连接应用。
- 选择 Manage 管理。
- 选择 Edit Policies 编辑策略。
- 查看 Refresh Token Policy 刷新令牌策略字段。Salesforce 建议使用90天后过期刷新令牌。
- 在 Session Policies 会话策略部分,Salesforce 建议将 Timeout Value 超时值设置为15分钟。
请参考 Salesforce 的在您的组织中创建连接应用文档了解更多信息。
Common issues 常见问题#
Connection issues when authenticating with Salesforce from n8n Cloud 从 n8n 云版本使用 Salesforce 进行身份验证时的连接问题#
如果您在从 n8n 云版本使用 Salesforce 进行身份验证时遇到连接问题,您可能需要在 Salesforce 用户配置文件中启用特定的系统权限:
- 在 Salesforce 中,进入 Setup 设置。
- 在 Quick Find 快速查找框中,搜索
Profiles。 - 选择连接到 n8n 的用户使用的配置文件(例如,System Administrator 或相关配置文件)。
- 点击 Edit 编辑或使用新的 Profile 配置文件界面(如果可用)。
- 找到 Administrative Permissions 管理权限部分。
- 启用 Approve Connected Apps for Non-Admins 为非管理员批准连接应用的复选框。此复选框也可能显示为 Approve apps connected not installed 批准未安装的已连接应用,具体取决于您的 Salesforce 语言或翻译。
- 点击 Save 保存。
此权限默认情况下未启用,即使对于管理员配置文件也是如此,必须手动激活。如果没有此权限,您在尝试将 n8n 连接到 Salesforce 时可能会遇到身份验证失败。