曲库动态 Token 鉴权

更新时间: 2024/02/28 11:22:04

当您使用正版曲库 SDK 时,需要传入 Token,才会返回正版曲库相关数据。本文介绍如何生成动态 Token。

技术原理

曲库鉴权流程如下图所示。

uml diagram

前提条件

已创建应用并获取 App Key

实现方法

  1. 业务服务器根据应用对应的App Key、App Secret和 user,生成 Token,示例代码如下。

    user可以传入用户的唯一标识,如userId。

    #先获取当前时间戳,单位毫秒
    curTime = 1614764611561
    #设置过期时间,单位秒,如600
    ttl = 600
    #生成signature,将App Key、App Secret、user、curTime、ttl五个字段拼成一个字符串,进行sha1编码
    signature = sha1(appkey + user + curTime + ttl + appsecret)
    #组装成json
    json = {"signature": "xx", "curTime":1614764611561, "ttl": 600}
    #将json转成字符串后进行base64编码,生成最终的token
    token=base64(json)
    
    • 上述动态 Token 的生成方法依赖 App Secret,因此生成逻辑务必在业务服务器完成,以免App Secret泄露。
    • 本鉴权方法的 Token 是动态且临时有效的,有效期由您自行设置,建议不要太长。
  2. 使用上述方法生成 Token 后,客户端在初始化版权 SDK 时,将该 Token 和 user 填入并登录,曲库服务器校验成功后,才会返回音乐版权曲库相关数据。

    示例代码如下:

    NECopyrightedMedia copyRight = NECopyrightedMedia.getInstance();
    copyRight.initialize(
        appkey,
        token,
        user
    );
    
此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 前提条件
  • 实现方法