了解场景通应用
应用(Application)是业务系统接入中台、访问所有API服务的唯一身份凭证和安全认证载体。每一个appId
都代表一个被中台唯一识别的业务系统。
根据创建者和使用场景的不同,应用分为两种核心类型:客户应用和ISV应用。
核心概念:两种应用类型
1. 客户应用
- 创建者:由最终客户(项目的所有者)创建和管理。
- 目的:用于接入客户自研的业务系统。
- 权限特点:应用创建后,天然具备其所属客户名下项目的API调用权限。权限管理直接且简单。
- 适用场景:客户拥有自己的技术团队,直接为其自身的业务场景(项目)开发应用系统。
2. ISV应用
- 创建者:由第三方服务商(ISV) 创建和管理。
- 目的:用于接入ISV开发的、旨在为多个客户提供标准化解决方案的业务系统。
- 权限特点:ISV应用默认无权访问任何客户的项目数据。必须经过特定客户的显式授权(授权流程),才能代表该客户调用其项目下的API。
- 适用场景:软件公司、解决方案提供商为他们的客户(即我们的最终客户)提供软件服务。例如,一个ISV开发了一套智慧食堂SaaS系统,让多家企业客户使用。
核心作用与价值
- 身份认证 (Authentication): 中台通过验证
appId和其请求签名,来确认API调用者的合法身份,并区分是客户自研调用还是ISV代调用。 - 访问授权 (Authorization): 应用的类型和授权关系决定了其有权访问哪些客户的项目和服务。
- 安全保障 (Security): 签名机制确保请求传输安全,防止篡改和重放攻击。
- 数据隔离与统计 (Isolation & Statistics): 所有API调用都以应用为维度进行计量、计费和日志记录,实现清晰的数据隔离和运营分析。
API调用中的关键参数
在每次API请求中,与应用身份认证和授权相关的关键参数如下表所示:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
appId | String | 是 | 应用的唯一ID,表明调用者身份。 |
mchId | String | 是 | 开发者/客户ID。 -客户应用:填入客户的 mch_id。-ISV应用:填入ISV自身的 mch_id。 |
projectId | String | 否 (特定接口必填) | 项目ID,表明本次请求希望访问哪个项目所订阅的服务。 |
重要提示:ISV应用在调用已授权项目的API时,mch_id参数必须填写ISV自己的ID,而非其客户的ID。这是中台识别ISV身份并校验其授权关系的依据。
写在最后
开发者应用是连接业务系统与中台能力的安全桥梁。明确区分客户应用和ISV应用是构建开放生态的基础。
- 客户应用体现了客户对自身业务的直接控制。
- ISV应用体现了中台生态的开放性,允许第三方服务商在获得授权后,安全地为客户提供价值。
信息
无论哪种类型,妥善保管App Secret并在安全的服务器环境下进行签名计算,是保障通信安全的首要责任。