第三方身份赋予

第三方身份赋予功能模块

  1. 自定义授权,用户将频道改为自定义授权模式,并设定好自定义地址,访客进入观看页后会先跳转到自定义网址,完成身份赋予后再跳转回来
  2. 第三方身份赋予密钥,用户在“媒体中心 ——> 基础配置”栏生成密钥后,用以给传输的数据加密
  3. 身份赋予接口,用户调用接口传输密文,完成身份赋予
  4. 用户得到带有识别码的Cookie,并跳转到指定网址

第三方身份赋予接口

GET /hubuser/api/assign_user?key=xxxxxxxxxx&return=xxxxxxx

JSON(加密前)
{
    "user_id": "xxx",  
    "name": "xxx",                 
    "avatar": "xxx",
    "third_party_id": "xxx",
    "allow_activities": ["xxx", "xxx", "xxx"],
    "expire": ***
}
- RESPONSE:

JSON
{
    "errcode": 2019
}

参数明细:

  • user_id: 媒体中心的用户id,可不传,如果为空,默认按当前登录的用户,如果当前没有登陆,新建一个访客
  • name: 昵称 ,可不传
  • avatar: 用户头像,可不传
  • third_party_id: 第三方的id,可不传
  • allow_activities: ["xxx", "xxx", "xxx"]为当前用户新增频道访问权限(例:频道id为'ABCDEF'的频道使用了第三方登录授权,在调用身份赋予接口时,如传入的user_id为空(用户为新增),则需要传入数据:['ABCDEF'],否则新增的用户无频道访问权限,无法完成第三方授权)
  • expire: 过期时间戳,不传永久有效,传了之后会做过期校验(例:设定2020-12-31 23:59:59为过期时间, 2020-12-31 23:59:59转为秒级时间戳:1609430399,传入参数为1609430399)

  • key: 数据加密后的密文,为bas64格式的字符串

  • return: 身份赋予成功后,重定向的url地址,若该参数为空,则返回到首页

  • errcode: 若身份赋予失败,返回错误码

加密方式

  1. 第三方用户从 “媒体中心 ——> 基础配置”取到“第三方身份密钥”(目前暂定密钥长度为16)。
  2. 用 AES/CBC + PKCS7Padding(块长度为 16)) 的方式,利用密钥对json数据进行加密,AES加密时用到iv(初始向量)为16个字节的0(数字0)。
  3. 将加密后的字节流转成base64格式的字符串。(注意:有的第三方库在加密的时候,会自动进行base64编码!)
  4. 对密文进行urlencode,以替换其中的不安全字符。
  5. 调用企播提供的接口,并附上密文。
目睹企播 all right reserved,powered by Gitbook修订时间 2020-10-14 08:29:29

results matching ""

    No results matching ""