验证签名
流程步骤
一、获取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×tamp=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
诚邀您对本文档易读易用性进行评价
好用
不好用