🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx skills add https://skills.sh/jaganpro/sf-skills/sf-connected-apps

💡 提示:需要 Node.js 和 NPM

sf-connected-apps: Salesforce 连接应用与外部客户端应用

当用户在 Salesforce 中需要OAuth 应用配置时使用此技能:连接应用、外部客户端应用、JWT bearer 设置、PKCE 决策、范围设计,或从旧版连接应用模式迁移到新版外部客户端应用模式。

此技能适用的场景

当工作涉及以下内容时,使用 sf-connected-apps

  • .connectedApp-meta.xml.eca-meta.xml 文件
  • OAuth 流程选择和回调/范围设置
  • JWT bearer 认证、设备流、客户端凭证或授权码决策
  • 连接应用与外部客户端应用架构选择
  • 消费者密钥/密钥/证书处理策略

当用户处于以下情况时,委托给其他技能:


首要决策:连接应用还是外部客户端应用

如果需求是… 优先选择
简单的单组织 OAuth 应用 连接应用
需要更好密钥处理的新开发 外部客户端应用
多组织/打包/更强的操作控制 外部客户端应用
直接的遗留兼容性 连接应用

默认指导:

  • 对于新的受监管、可打包或自动化密集型解决方案,选择外部客户端应用
  • 当简单性和遗留兼容性更重要时,选择连接应用

需要预先收集的上下文

询问或推断:

  • 应用类型:连接应用或外部客户端应用
  • OAuth 流程:授权码、PKCE、JWT bearer、设备流、客户端凭证
  • 客户端类型:机密客户端与公共客户端
  • 回调 URL / 重定向地址
  • 所需的范围
  • 分发模型:仅本地组织与可打包/多组织
  • 是否需要证书或密钥轮换

推荐工作流程

1. 选择应用模型

决定连接应用或外部客户端应用哪个更适合长期使用。

2. 选择 OAuth 流程

使用场景 默认流程
后端 Web 应用 授权码
单页应用/移动端/公共客户端 授权码 + PKCE
服务器到服务器/CI/CD JWT Bearer
设备/CLI 认证 设备流
服务账户风格应用 客户端凭证(通常为外部客户端应用)

3. 从正确模板开始

使用提供的资产,而不是从头开始构建:

  • assets/connected-app-basic.xml
  • assets/connected-app-oauth.xml
  • assets/connected-app-jwt.xml
  • assets/external-client-app.xml
  • assets/eca-global-oauth.xml
  • assets/eca-oauth-settings.xml
  • assets/eca-policies.xml

4. 应用安全加固

优先选择:

  • 最小权限范围
  • 明确的回调 URL
  • 公共客户端使用 PKCE
  • 适当时使用基于证书的认证
  • 可轮换的密钥/证书处理
  • 在可行且可维护时设置 IP 限制

5. 验证部署就绪状态

在移交前,确认:

  • 元数据文件命名正确
  • 范围设置合理
  • 回调 URL 和认证模型与实际客户端类型匹配
  • 密钥未嵌入源代码中

高信号安全规则

避免这些反模式:

反模式 失败原因
通配符/过于宽泛的回调 URL 令牌拦截风险
默认使用 Full 范围 不必要的权限
为公共客户端禁用 PKCE 代码拦截风险
消费者密钥提交到源代码 凭证泄露
自动化缺乏轮换/证书策略 脆弱的长期运维

默认修复方向:

  • 缩小范围
  • 限制回调地址
  • 为公共客户端启用 PKCE
  • 将密钥保存在版本控制之外
  • 在适当时使用 JWT 证书或受控密钥存储

重要的元数据说明

连接应用

通常位于:

  • force-app/main/default/connectedApps/

外部客户端应用

通常涉及多个元数据文件,包括:

  • 基础外部客户端应用头文件
  • 全局 OAuth 设置
  • 实例 OAuth 设置
  • 可选的策略元数据

重要的文件名注意事项:

  • 全局 OAuth 的后缀是 .ecaGlblOauth,而不是 .ecaGlobalOauth

输出格式

完成时,按此顺序报告:

  1. 选择的应用类型
  2. 选择的 OAuth 流程
  3. 创建或更新的文件
  4. 安全决策
  5. 下一步部署/测试

建议格式:

应用:<名称>
类型:连接应用 | 外部客户端应用
流程:<oauth流程>
文件:<路径>
安全:<范围、PKCE、证书、密钥、IP策略>
下一步:<部署、获取消费者密钥或测试认证流程>

跨技能集成

需求 委托给 原因
命名凭证/运行时调用配置 sf-integration 运行时集成设置
部署应用元数据 sf-deploy 组织验证和部署
Apex 令牌或刷新处理 sf-apex 实现逻辑
部署后权限审查 sf-permissions 访问治理

参考映射

从这里开始

迁移/示例


评分指南

分数 含义
80+ 可投入生产的 OAuth 应用配置
54–79 可行但需要安全加固审查
< 54 阻止部署直至修复