用途:在 Salesforce 中配置 OAuth 应用,包括 Connected App、External Client App(ECA)、JWT bearer 设置、PKCE 决策、scope 设计与从旧 Connected App 模式迁移到 ECA 模式。范围含 .connectedApp-meta.xml 与 .eca-meta.xml 文件、OAuth 流程选择、回调与 scope 设置、consumer key/secret/证书处理策略;Named Credential 与运行时 callout、元数据部署、Apex 令牌处理代码不在范围内,需分别交由 building-sf-integrations、deploying-metadata、generating-apex。
决策:单组织简单 OAuth 应用或需旧版兼容时选 Connected App;新开发、需更好密钥处理、多组织/打包/更强运维控制时选 ECA。Spring '26 起新建 Connected App 默认被禁用,除非明确要求兼容,否则建议用 ECA。
流程默认:后端 Web 应用用授权码;SPA/移动/公共客户端用授权码加 PKCE;服务端到服务端或 CI/CD 用 JWT Bearer;设备或 CLI 认证用设备流;服务账号型应用用客户端凭证(通常为 ECA)。
用法:先根据上表选定应用模型与 OAuth 流程,再基于模板生成,不要从零编写;模板包括 connected-app-basic、connected-app-oauth、connected-app-jwt、connected-app-canvas、external-client-app、eca-global-oauth、eca-oauth-settings、eca-policies。如需源码受控的 ECA OAuth 安全元数据,先从组织取回:sf project retrieve start --metadata ExtlClntAppOauthSecuritySettings:<AppName> --target-org <alias>。随后按 references/security-checklist.md 做 120 分安全加固,偏好最小权限 scope、明确回调 URL、公共客户端强制 PKCE、适用时证书认证、可轮换的密钥处理、可维护的 IP 限制;交付前读 references/testing-validation-guide.md 验证元数据命名、scope 合理性、回调与客户端类型匹配、密钥未嵌入源码。
限制与注意:绝不提交 consumer secret 到源码库;不默认使用 Full scope;公共客户端必须用 PKCE;不用通配或过宽回调 URL;ECA OAuth 安全设置只能从组织取回后再编辑。命名后缀易错:全局 OAuth 用 .ecaGlblOauth 而非长写,策略用 .ecaPlcy,安全设置用 .ecaOauthSecurity。部署报错 DUPLICATE_VALUE 表示同名应用已存在;INVALID_CROSS_REFERENCE_KEY 表示 externalClientApplication 名与文件名不一致;INSUFFICIENT_ACCESS_OR_READONLY 表示缺少 Manage Connected Apps 权限。consumer key 部署后才生成,不能在元数据中设置。评分 80+ 为生产就绪,54–79 需加固审查,低于 54 应阻止部署。资料未提供具体价格与平台收费信息。