抖音开放平台Logo
开发者文档
控制台

验证签名
收藏
我的收藏

背景信息​

验证签名是 JS 授权的第一步,通过验证才能继续进行唤起授权页面等操作。​

前提条件​

    1.在验证签名之前,您需要成功创建一个网站应用并通过开放平台审核,并获得相应的ClientKey和ClientSecret,详细操作流程请参见入驻开发者平台。​
    2.ClientKey、ClientSecret的查询位置:「抖音开放平台首页」>「右上角控制台」>「我的应用」>「网站应用」>「应用信息」

操作步骤​

    1.调用生成 client_token获取 client_access_token(开发者必须在自己的服务全局缓存 access_token)。​
    2.使用获取到的 client_access_token 获取 jsb_ticket(有效期 7200 秒左右,具体时效需依赖接口返回,开发者必须在自己的服务全局缓存 ticket)。详情请参见获取 jsb_ticket。​
    3.根据 jsb_ticket 和其它字段进行签名计算。参与签名的字段包括 noncestr(随机字符串), 有效的 jsb_ticket、timestamp(时间戳,秒级,类型为 String), url(当前网页的URL,不包含 # 及其后面部分)。​
例如:​
参数
示例值
nonce_str​
Wm3WZYTPz0wzccnW​
jsapi_ticket​
sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg​
timestamp​
1414587457​
url​
    对所有待签名参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式(即 key1=value1&key2=value2…)拼接成字符串 string1。jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&nonce_str=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=https://open.douyin.com?params=value
    对 string1 进行 MD5 签名,得到 signature:af3b1c5a146c609fbe429de8ba6163a0。​
注意事项:
    签名用的 nonce_str 和 timestamp 必须与 sdk.config 中的 nonce_str 和 timestamp 相同。​
    签名用的 url 必须是调用 JS 接口页面的完整 URL(但是不包括#及后面部分)。​
    出于安全考虑,开发者必须在服务器端实现签名的逻辑。​
    timestamp 类型为 String。​

结果验证​

将生成的签名作为JS 接入指南中步骤五 sdk.config 的参数,配置后如果执行了 sdk.ready 回调,说明验证成功。如果验证失败则会执行错误回调 sdk.error,请在回调参数中查看错误提示,根据提示排查问题。​