# 第三方应用接入规划

# 一、平台授权应用机制

基于OAuth2.0协议标准 (opens new window)构建平台的OAuth授权系统。 OAuth目前主要是为标准平台用户授权登录第三方应用。

# 授权流程说明

标准平台OAuth授权登录目前支持 authorization_code 模式,适用于拥有server端的应用授权。该模式整体流程为:

  1. 第三方发起标准平台的授权登录请求,标准平台用户允许授权第三方应用后,标准平台 OAuth会拉起应用或重定向到第三方网站,并且带上临时授权码code参数;
  2. 通过 code 参数加上 client_idclient_secret 等,通过API换取 access_token
  3. 通过 access_token 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

获取 access_token时序图:

process

# 签名加密规则

例如:

参数名 参数值 说明
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 列表
    • 打开输入框
    • 设置导航标题

# 三、应用接入

process

# 成为开发者

账号登录,未注册的用户需要安装注册,第一次登录需要完善信息,个人开发者通过提交企业资质等可升级为企业开发者。

# 提交应用信息

包括名称、图标、描述等,平台会为每个应用生成唯一的appId及appsecret等基础应用配置信息。

# 应用开发

标准平台可以提供相应API支持,包括前后端需要的基础信息

# 上传部署/自测

可采用采用流应用zip包形式,部署到平台方,需要提交部署申请,平台部署成功后,对应用进行自测及调试,为确保接入标准平台应用的质量、提高后续运营服务的稳定性,上线前,请开发者按照接入规范对应用进行仔细检查及测试,对于不符合规范项进行修改。

# 提交审核

自测验证通过后,开发者可提交至平台进行审核。

# 平台验收

平台的运营人员对应用的质量、性能、产品的业务逻辑等进行验收。

# 应用发布

发布应用,以上流程完成后,开发者可以通过开发者平台操作应用发布上线。应用上线后,用户可根据场景在应用库中搜索到应用并添加。

  • 应用下架
  • 应用删除
  • 应用配置
  • 应用升级
最后更新时间: 11/24/2021, 1:59:05 AM