用途:在 Salesforce 中配置 OAuth 应用,覆盖 Connected App 与 External Client App(ECA)、JWT bearer、PKCE、scope 设计与迁移。不负责 Named Credential 与运行时调用(交给 integration-connectivity-generate)、元数据部署(platform-metadata-deploy)和 Apex 令牌处理(platform-apex-generate)。
应用模型选择:简单单组织 OAuth 应用或旧版兼容选 Connected App;新开发、注重密钥处理、多组织或可打包场景优先 ECA。Spring '26 起新建 Connected App 默认被禁用,新集成建议优先 ECA,除非明确需要兼容。
OAuth 流程默认:后端 Web 应用用 Authorization Code;SPA、移动端等公共客户端用 Authorization Code + PKCE;服务端间或 CI/CD 用 JWT Bearer;设备或 CLI 认证用 Device Flow;服务账号型应用用 Client Credentials(通常配合 ECA)。
使用方式:先从 assets 下对应模板起步,如 connected-app-basic.xml、connected-app-oauth.xml、connected-app-jwt.xml、connected-app-canvas.xml、external-client-app.xml、eca-global-oauth.xml、eca-oauth-settings.xml、eca-policies.xml。ECA 的 OAuth 安全设置须先从组织检索,命令为:sf project retrieve start --metadata ExtlClntAppOauthSecuritySettings:<AppName> --target-org <alias>。写入前依据 sfdx-project.json 确认 packageDirectory。
安全要求:按 references/security-checklist.md 的 120 分清单加固,最小权限 scope、明确回调 URL、公共客户端强制 PKCE、按需证书认证、可轮换密钥、必要时 IP 限制。评分 80+ 为可上生产,54–79 需加固,低于 54 阻止部署。
限制与注意:消费者密钥在部署后生成,无法在元数据中预设;ECA OAuth 安全设置仅能检索,不可从零创建;文件后缀须准确(.ecaGlblOauth、.ecaPlcy、.ecaOauthSecurity 等);不要提交密钥到源码库;默认禁用 Full scope。常见错误:DUPLICATE_VALUE、INVALID_CROSS_REFERENCE_KEY、INSUFFICIENT_ACCESS_OR_READONLY。