验证签名

流程步骤

一、获取client_access_token(开发者必须在自己的服务全局缓存access_token)

Method
HTTP request
POST /oauth/client_token/

二、用第一步拿到的client_access_token获取jsapi_ticket(有效期7200秒左右,具体时效需依赖接口返回,开发者必须在自己的服务全局缓存ticket)

Method
HTTP request
GET /js/getticket/

三、根据jsapi_ticket和其他字段进行签名计算

参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳,秒级别,类型为 String), url(当前网页的URL,不包含#及其后面部分)

例如:

nonce_str
Wm3WZYTPz0wzccnWjs
jsapi_ticket
sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
timestamp
1414587457
url
https://open.douyin.com?params=value

步骤一

对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGasdfasdfVi4C3VM0P37wVUCFvkVAy90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&nonce_str=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=https://open.douyin.com?params=value

步骤二

对string1进行md5签名,得到signature:12e5dd89f545244019ba346a415c88ce

注意事项:

1、签名用的nonce_str和timestamp必须与sdk.config中的nonce_str和timestamp相同。

2、签名用的url必须是调用JS接口页面的完整URL(但是不包括#及后面部分)。

3、出于安全考虑,开发者必须在服务器端实现签名的逻辑。

4、timestamp 类型为 String

诚邀您对本文档易读易用性进行评价
好用
不好用