对比维度 | Connected App | External Client App |
分发方式 | 只能在单一 Org 内配置,无法打包分发 | 支持 2GP 打包,可随 Managed Package 分发到多个 Org |
适用场景 | 单 Org 内部的集成 | 跨 Org 分发、ISV 应用、复杂 OAuth 流程 |
OAuth 支持 | Authorization Code、User-Agent、JWT、SAML、Username-Password、Device Flow、Asset Token | Authorization Code + Credentials(支持headless登录、无密码、访客用户)、JWT、Client Credentials、Device Flow |
配置UI | 配置在 App Manager 中,界面传统,分发状态不直观 | 独立的 External Client App Manager,支持 Distribution State(Local/Packageable),权限模型更清晰 |
生命周期管理 | 每个 Org 需手动维护,修改需逐一操作 | 支持集中配置,随包升级即可更新多个 Org 的配置 |
举个场景: 你在一个大型的公司,公司因为不同国家的安全合规不同,分成了多个org进行了管理,比如贵公司有北美,欧洲,亚太,中东四个org,安全要求涉及到集成,Connected App权限应该完全相同。 因为跨org,每个org的Connected App都需要单独维护并且需要确保一致,如果因为安全策略变动,OAuth Scope等变更,需要每一个org都修改和维护对应org的Connected App。有了External Client App以后,可以主org打一个2GP的包,其他的org进行安装。如果涉及到OAuth Scope等变更,2GP进行修改以及发布,其他的org只需要升级Managed Package即可。