本文介绍在百炼控制台开通 Salesforce on Alibaba Cloud MCP 服务时,如何获取 Access Token 并完成配置。提供两种获取 Token 的方式,请根据实际场景选择。
概述
用您的阿里云账号登录百炼控制台,在 MCP 广场找到 Salesforce on Alibaba Cloud MCP。
在百炼控制台开通 Salesforce on Alibaba Cloud MCP 时,需要填入两项认证参数:
配置项 | 填写格式 | 说明 |
Authorization |
| Bearer 与 token 之间有一个空格 |
X-CRM-ORG-DOMAIN |
| Salesforce Org 的域名 URL,在 Setup → My Domain 中获取 |
获取 Access Token 有两种方式:
方式一:SF CLI 浏览器授权 | 方式二:Client Credentials Flow | |
核心机制 | 通过 Salesforce CLI 发起 OAuth Web 授权,浏览器完成登录授权后获取 Token | 通过 cURL 直接调用 OAuth 令牌端点,以 Client Credentials 模式获取 Token |
是否需要用户交互 | 需要(浏览器登录授权) | 不需要(纯服务端调用) |
适用场景 | 个人开发者快速测试、临时调试 | 后台自动化、Agent 调用、多用户共享 |
前置条件 | 安装 Salesforce CLI | 创建专用集成用户 |
Token 权限 | 绑定到授权登录的普通用户 | 绑定到专用集成用户 |
Token 有效期 | 临时凭证,会话过期后需刷新(可设置最长24小时) | 临时凭证,会话过期后需刷新(可设置最长24小时) |
方式一:通过 SF CLI 浏览器授权获取 Token
本方式通过 Salesforce CLI 发起 OAuth 授权流程,在浏览器中完成登录后自动获取 Token。操作简单,适合个人开发者快速验证 MCP 连通性。
步骤 1:安装 Salesforce CLI
Salesforce CLI 是 Salesforce 官方命令行工具,用于与 Org 进行交互。
安装方式(选择适合您系统的方式):
macOS:
brew install @salesforce/cli
Windows:
npm install @salesforce/cli --global
其他平台或详细安装说明,请参考官方文档:https://developer.salesforce.com/tools/salesforcecli
安装完成后,验证是否成功:
sf --version
如果正确输出版本号,则安装成功。
步骤 2:创建 External Client App 并获取凭证
登录您的 Salesforce Org
进入 Setup(右上角齿轮图标 → Setup)
在快速查找中输入 App Manager,点击进入
点击右上角 New External Client App
填写基本信息:
App Name:自定义名称(如
MCP Test App)Contact Email:您的邮箱地址
在 OAuth Settings 区域:
勾选 Enable OAuth Settings
Callback URL:填写
http://localhost:1717/OauthRedirect\(CLI 默认回调地址)Selected OAuth Scopes:建议至少选择
Manage user data via APIs (api)和Perform requests at any time (refresh_token, offline_access)
点击 C 保存
在 App Manager 列表中找到刚创建的 App,点击右侧下拉菜单 → View
找到 Consumer Key 和 Consumer Secret,点击 Manage Consumer Details 查看完整值
请妥善保存 Consumer Key 和 Consumer Secret,后续步骤需要使用。
步骤 3:使用 CLI 登录 Org
在终端中执行以下命令:
sf org login web -d -r <Your Domain URL> -i <Consumer Key>
参数说明:
参数 | 说明 | 示例 |
| 将登录的 Org 设置为默认 Org | 固定参数,无需填值 |
| Salesforce Org 域名 URL |
|
| External Client App 的 Consumer Key |
|
执行后:
终端会提示输入 Consumer Secret,请输入步骤 2 中获取的值,按回车
系统自动拉起浏览器,打开 Salesforce 授权页面
使用需要获取 Token 的 普通用户账号 登录
在授权页面中点击 Allow 允许授权
注意:请使用实际需要测试 MCP 的用户账号进行授权,获取的 Token 将具有该用户的权限。
步骤 4:获取 Access Token
浏览器授权成功后,回到终端执行:
sf org display user -o <用户名>
参数 | 说明 | 示例 |
| 步骤 3 中授权登录的用户名 |
|
输出示例(仅展示关键字段):
=== User Info
username testuser@example.com
Access Token 00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmb...
Instance Url https://yourorg.my.sfcrmproducts.cn/
复制 Access Token 字段的值即可。
Token 过期后如何刷新
无需重新走浏览器授权,直接重新执行步骤 4 的命令:
sf org display user -o <用户名>
CLI 会自动使用之前保存的会话刷新 Token。如果提示会话已失效(Session expired),则需重新执行步骤 3 的 sf org login web 命令重新授权。
方式二:通过 Client Credentials Flow 获取 Token
本方式采用 OAuth 2.0 Client Credentials Flow,通过 cURL 直接调用 Salesforce 令牌端点获取 Token。无需终端用户交互授权,适用于后台自动化及 Agent 调用场景。
步骤 1:创建专用集成用户
安全提示:请勿使用管理员或个人账号作为集成用户。务必创建专用账号并遵循最小权限原则。
进入 Setup → Users → New User
填写用户信息,确保勾选 Active 状态
分配一个包含 API Enabled 权限的 Profile 或 Permission Set
保存并记录该用户的用户名,后续绑定 App 时需要使用
步骤 2:配置 External Client App
进入 Setup → 搜索 External Client App Manager → 点击 New External Client App
填写应用基本信息后,展开以下两个关键区域进行配置:
配置区域 | 配置项 | 操作要求 |
OAuth Settings | Selected OAuth Scopes | 必须添加 |
Flow Enablement | 勾选 | |
OAuth Policies | Client Credentials Flow → Run As | 选择步骤 1 创建的集成用户 |
点击 Create
在同一页面展开 OAuth Settings,点击 Consumer Key and Secret 查看并复制
Consumer Key与Consumer Secret
步骤 3:请求 Access Token
使用 cURL 向 Salesforce 发起令牌请求:
curl -X POST "https://<你的MyDomain>/services/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<替换为Consumer_Key>" \
-d "client_secret=<替换为Consumer_Secret>"
成功响应示例:
{
"access_token": "00Dxx0000001gPFEAY!AR8AQJ...",
"instance_url": "https://xxx.my.sfcrmproducts.cn",
"token_type": "Bearer",
"scope": "api"
}
复制 access_token 的值即可。
在百炼控制台完成开通
无论选择哪种方式获取 Token,后续的开通步骤相同:
登录阿里云百炼控制台,进入 MCP 广场
搜索并找到 Salesforce on Alibaba Cloud MCP,点击 立即开通
在开通配置页面填写参数:
填写项 | 填写格式 | 获取方式 |
Authorization |
| 填入获取到的令牌,注意 Bearer 后有一个英文空格 |
X-CRM-ORG-DOMAIN |
| Salesforce 实例域名 URL |
确认填写无误后,点击提交完成开通。
在应用管理中创建 agent 应用,并在 mcp 配置中选择Salesforce on Alibaba Cloud MCP,添加所需的 MCP 工具
完成配置,与 Agent 对话测试效果
两种方式对比与选择建议
对比维度 | 方式一:SF CLI 浏览器授权 | 方式二:Client Credentials Flow |
操作复杂度 | 低 — 安装 CLI 后几步完成 | 中 — 需创建集成用户并配置 App 策略 |
是否需要浏览器 | 是 — 首次授权需浏览器交互 | 否 — 全程命令行完成 |
Token 权限模型 | 绑定到登录的普通用户,受该用户权限约束 | 绑定到专用集成用户,权限可精确控制 |
安全性 | 中 — Token 与个人账户关联 | 高 — 专用集成用户 + 最小权限原则 |
Token 有效期 | 临时凭证,会话过期后需重新获取(可设置最长24小时) | 临时凭证,会话过期后需重新获取(可设置最长24小时) |
多用户支持 | 弱 — 每个用户需在本地 CLI 分别登录 | 强 — 一个集成用户可服务多个终端用户 |
适用环境 | 本地开发、临时调试、快速验证 | 生产环境、Agent 调用、CI/CD 集成 |
常见问题
Q: 方式一执行 sf org login web 时提示 "No org configuration found" 怎么办?
A: 这是正常现象,首次登录时本地尚无 Org 配置。按照提示输入 Consumer Secret 并完成浏览器授权即可。
Q: 方式二报错 "invalid_client_id" 或 "invalid_client_credentials" 怎么办?
A: 请确认 Consumer Key 和 Consumer Secret 正确无误,External Client App 状态为 Active,且 OAuth Policies 中已正确配置 Client Credentials Flow 的 Run As 用户。
Q: 方式一和方式二获取的 Token 有什么区别?
A: 方式一的 Token 绑定到浏览器授权时登录的普通用户,权限与该用户一致;方式二的 Token 绑定到专用集成用户,权限由管理员精确控制。两者在调用 MCP 时功能相同,区别在于权限模型和适用场景。
Q: Token 过期后 MCP 会怎样?
A: 需要采用同样的方式重新获取 Token 并更新百炼 MCP 配置。您可以在External Client App中的Policies - Oauth Policies中设置更长的会话有效期(Session Timeout In Minutes),最长为24小时。