如何设计⼀个通⽤的开放平台上-基本需求与总体流程
前⾔
此开放平台的设计⽂档分为上、中、下三篇来说明,分别对应概念与总体流程、关键逻辑、数据存储三部分。
需求简析
背景
企业之间需要数据交换,需要使⽤对⽅的功能时,如果规模较⼤,对接⽅⽐较多则需要有⼀个统⼀的对外的平台来完成这些功能。
此平台负责对外提供各种功能,提供标准化的交互规则和⽂档来⽅便多⽅数据对接。
功能点
⼀般⽽⾔,开放平台需要⽀持如下功能
⽀持认证与鉴权,主要需要对接⼊的第三⽅进⾏识别,以及不同接⼊⽅可以访问的不同接⼝权限、数据权
限做核验。
⽀持数据隔离,不同接⼊⽅产⽣或访问的数据是隔离的,相互不影响。
⽅便可靠的接⼊⽅式、完善规范的接⼊⽂档
开发一个平台需要多少钱⼀般情况下,开放平台需要建⽴⼀个对外的 web⽹站或者app,来向第三⽅提供基本的应⽤管理、⽂档展⽰、公告通知等功能。
如果没有这样的平台,则接⼊放需要联系开放平台⼯作⼈员来对接。
总体流程
访问流程
thirdServer = 第三⽅服务,即接⼊⽅服务
openServer = 开放平台的服务
dataSource = 基础数据来源,可以是数据库或者微服务; 建议开放平台不直接操作和读取业务数据(库),⽽是通过原有的数据、业务服务接⼝访问。
接⼊流程
⼀般⽽⾔接⼊分为客户端与服务端的接⼊,客户端类似于应⽤商店上架或者⼩程序这种上架,在使⽤对⽅客户端的⼯具或者遵循对应规则开发成品,然后将成品上次到对⽅平台。⽽服务端的接⼊⼀般指数据和接⼝访问的鉴权与校验等,这⾥主要说明服务端的接⼊。
基本概念
主体
主体可以理解为是某⼀个第三⽅的公司/学校/平台,在⼀个主体下可以创建多个应⽤。
应⽤
在开放平台的账号下可以创建应⽤,应⽤之间的数据和权限是独⽴的
⼀个应⽤只能属于⼀个主体。
开发者
在接⼊期间,需要⼀程序员来开发程序,他们可能访问和编辑应⽤的相关信息,调试相关的功能,这
些程序员就是开发者。
被主体授权的开发者才有权限做和应⽤相关的操作。
同⼀个开发者可以被多个主体授权,可以被授权操作多个应⽤;
⼀个开发者可能关联多个应⽤,⼀个应⽤也可能关联多个开发者。 根据具体情况来设计授权的粒度。
appKey
唯⼀代表应⽤的标识符,有的平台也叫appId或者其它名称
appSecret
和appKey ⼀ ⼀对应,⽤来认证鉴定⾝份,类似于应⽤的密码。
appSecret原则上不能泄露,如果泄露需要⽴即在开放平台重新⽣成,并使⽤新的值。
openId
⽤于唯⼀确定某 第三⽅应⽤下的 ⽤户.
对于其它实体,也可以映射为各种各样的openId; 例如⽤户所属的班级 classOpenId ;
unionId
⽤于唯⼀确定某 第三⽅主体下的 ⽤户.
对于其它实体,也可以映射为各种各样的unionId ;classUnionId等。
接⼊步骤
接⼊的步骤⼤同⼩异,可以根据具体情况调整、增减步骤。主要⽬标就是使⽤开放平台规定的⽅式来顺利访问和操作对应的数据。
1. 申请成开发者
2. 完善开发者对应的主体 信息,或者说创建⼀个主体,完善主体信息,联系开放平台审核
3. 开放平台审核主体信息
1. 通过审核后会分配主体对应的账号
2. 失败则表⽰资料有误,需要开发者重新修改提交
4. 开发者建⽴应⽤ , 并获得对应的 appKey 和 appSecret . appKey将作为此 应⽤ 的唯⼀标识 .
5. 配置 ip ⽩名单, ⽩名单外的 ip或域名 将禁⽌访问
1. 在企业的服务间对接时,从安全考虑,将会做此限定
6. 申请应⽤ 对应的 数据 / 模块 / 接⼝ 的访问 权限 , 并等待审核通过
7. 开发者访问预留的测试接⼝ , 测试功能
1. 按照访问规则组织好参数 , 访问给定的测试接⼝ , 测试访问是否成功 . 若成功则表⽰成功接⼊.
API ⽂档
⼀般⽂档包含如下内容
接⼊指南
错误码定义
api⽂档
协议、域名、URL路径、参数说明、返回值说明不同语⾔的SDK信息
接⼝频率限制说明
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论