# 第三方应用接入规划
# 一、平台授权应用机制
基于OAuth2.0协议标准 (opens new window)构建平台的OAuth授权系统。 OAuth目前主要是为标准平台用户授权登录第三方应用。
# 授权流程说明
标准平台OAuth授权登录目前支持 authorization_code
模式,适用于拥有server端的应用授权。该模式整体流程为:
- 第三方发起标准平台的授权登录请求,标准平台用户允许授权第三方应用后,标准平台 OAuth会拉起应用或重定向到第三方网站,并且带上临时授权码code参数;
- 通过
code
参数加上client_id
和client_secret
等,通过API换取access_token
; - 通过
access_token
进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
获取 access_token
时序图:
# 签名加密规则
例如:
参数名 | 参数值 | 说明 |
---|---|---|
X-MMM-SignType | sha256 | 加密类型 |
X-MMM-DeviceType | app | 开发者平台中获取 |
X-MMM-AppId | 123456789(唯一标识) | 开发者平台中获取 |
X-MMM-AppSecret | 秘钥(注意保护秘钥信息) | 开发者平台中获取 |
拼接参数、sha256加密、生成签名
val timestamp = System.currentTimeMillis()
val uuid = UUID.randomUUID().toString()
val token = access_token
public static String sign(String timestamp, String uuid, String token) {
return sha256Encrypt(new StringBuilder("v!(MmM")
.append(uuid)
.append(token)
.append("MmM)i^").toString());
}
// 生成签名:X-MMM-Sign = sign(timestamp, uuid, token)
# 二、开发规范
标准开放平台为应用的开发提供了HTML5接入方式,平台对应用的开发提供统一的外部接口,使用了平台提供的外部接口的应用只能在标准平台环境下运行。
应用可以使用HTML5的各种开发框架开发,应用开发时应主动检查运行平台版本,并进行适配。平台保证对外接口遵循开闭原则,即只增不改原则。应用如果通过标准平台进行集中部署,应该满足平台要求的部署规范。
# 提供基础 API
- 文件 API 列表
- 获取文件列表
- 打开/删除文件
- 媒体 API 列表
- 从相册选择图片,或者拍照
- 图片预览
- 播放音/视频
- 录制音/视频
- 位置 API 列表
- 地图坐标等
- 页面 API 列表
- 打开输入框
- 设置导航标题
# 三、应用接入
# 成为开发者
账号登录,未注册的用户需要安装注册,第一次登录需要完善信息,个人开发者通过提交企业资质等可升级为企业开发者。
# 提交应用信息
包括名称、图标、描述等,平台会为每个应用生成唯一的appId及appsecret等基础应用配置信息。
# 应用开发
标准平台可以提供相应API支持,包括前后端需要的基础信息
# 上传部署/自测
可采用采用流应用zip包形式,部署到平台方,需要提交部署申请,平台部署成功后,对应用进行自测及调试,为确保接入标准平台应用的质量、提高后续运营服务的稳定性,上线前,请开发者按照接入规范对应用进行仔细检查及测试,对于不符合规范项进行修改。
# 提交审核
自测验证通过后,开发者可提交至平台进行审核。
# 平台验收
平台的运营人员对应用的质量、性能、产品的业务逻辑等进行验收。
# 应用发布
发布应用,以上流程完成后,开发者可以通过开发者平台操作应用发布上线。应用上线后,用户可根据场景在应用库中搜索到应用并添加。
- 应用下架
- 应用删除
- 应用配置
- 应用升级
← 移动端提效报告 标准平台-混合开发方案 →