免解密收藏我的收藏
收藏
我的收藏目前支持小程序
原始解密流程
上云解密流程的优化
在小程序托管上云之后,则可免去自己解密的过程。
目前支持以下接口:
接口的明文内容将不包含这些敏感数据,而是在返回的接口中包含对应敏感数据的
cloudID
字段,数据可以通过云托管调用获取。完整流程如下:1. 获取 cloudID
在开放数据接口的返回值中可以通过
cloudID
字段获取(与 encryptedData
同级),cloudID
有效期五分钟。2.发起业务请求
开发者发起请求
const cloud = tt.createCloud({envID:'envID',serviceID:'serviceID'}) cloud.callContainer({ path:'/example', init:{ method:'POST', header:{ "content-type": "application/json", }, body:{ example:'example', info: cloud.CloudID('获取的CloudID') }, timeout: 600000,//ms }, success:({statusCode, header, data})=>{ JSON.parse(data) }, fail:console.warn, complete:console.warn, })
cloudId 解密成功,结果如下:
data:{ "info:": { "cloudID": "xxx", "data": { "stepInfoList": [ { "step": 5000, "timestamp": 1554814312, } ], "watermark": { "appid": "tt1111111111", "timestamp": 1554815786 } } }, "obj": { // 非顶层字段维持原样 "shareInfo": "yyy", } }
cloudId失效解密失败,结果如下:
data:{ "info:": { "cloudID": "xxx", "errCode": 14001,//失效为该值 "errMsg": "cloudID expired." }, "obj": { // 非顶层字段维持原样 "shareInfo": "yyy", } }
注意:
- 1.仅支持 Content-Type :application/json。
- 2.只关注data最外层的5个cloudId,如果超过5个,则失败回调 。
{ errMsg:'callContainer:fail callContainer cannot have more than 5 CloudID', errNo: 20000, }