鉴权协议
鉴权协议主要针对Web端的接入方式,也就是针对iFLYHOME OS应用内Web应用以及iFLYHOME OS应用外Web应用。
由于Web应用调用iFLYHOME OS应用需要携带有效token,iFLYHOME OS应用客户端会对appid和token进行校验,校验通过方可使用iFLYHOME OS开放能力。Web应用需要调用授权接口定时获取token。
鉴权流程
服务端鉴权协议
名词定义
名词 | 解释 | 说明 |
---|---|---|
授权 | 服务端授予第三方token令牌进行业务访问的过程 | openAuth |
鉴权 | 第三方通过获取的token令牌进行认证的过程 | openValid |
解绑 | 解除第三方设备与机顶盒之间的绑定关系 | unbind |
授权接口
请求协议: http://{host}:{port}/v1/openAuth
方式:post
Body: MediaType:application/json; charset=utf-8
接口入参:
json格式,字段如下:
参数名 | 类型 | 可为空 | 备注 |
---|---|---|---|
appid | String | 否 | 当前应用的唯一标识 |
curtime | String | 否 | 当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的毫秒数 |
checksum | String | 否 | 服务请求签名,计算方法:md5( appsecret + curtime ) ,注意是32位大写 出于安全性考虑,每个 checksum 具备一定的有效期(可后台配置),同时 curtime 要与标准时间同步,否则,时间相差太大(相差阈值也可配置),服务端会直接认为 curtime 无效 |
接口返回
json格式,字段如下:
参数名 | 类型 | 可为空 | 备注 |
---|---|---|---|
code | String | 否 | 接口code, "0000" 表示接口调用成功 |
desc | String | 否 | 描述 |
data | JsonObject | 否 | 接口业务数据 |
接口业务数据参考如下:
参数名 | 类型 | 可为空 | 备注 |
---|---|---|---|
token | String | 否 | 为该appid生成的token |
expireDate | long | 否 | 有效期(秒) |
接口调用样例
请求地址:
http://192.168.57.203:2888/iptv-auth/v1/openAuth
请求Header:
Content-Type:application/json
请求body
{
"appid":"123456",
"curtime":"1560136080000",
"checksum":"8862C183E95D6719820FCE1741CBC50B"
}
返回结果
{
"code": "0000",
"desc": "成功",
"data": {
"token": "409fe46b02594db5b612e9525d5be5af",
"expireDate": 60
}
}