1。我們需要從微信公眾號中拿到appid 和appSecret
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=Appid&secret=appSecret 獲取到?access_token
如果你拿到
2.如未獲取成功請百度返回錯誤碼邢享,接下來我們進行下一步用拿到?access_token然后獲取ticket
替換上你得到的最新的access_token你就可以獲取到ticket了,同樣的時效仍然只有2小時
3.我們拿到了所有我們需要的東西接下來讓我們生成簽名
?通過以下的規(guī)則生成簽名:jsapi_ticket=kgt8ON7yVITDhtdwci0qeb7Uk3rdl_EEmJZGBTUefn_uC1FoqFloWv3CYPgtA_eViMlRr0RJxm0JH7-qsowOVw &noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value
簽名生成規(guī)則如下:參與簽名的字段包括noncestr(隨機字符串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網(wǎng)頁的URL鹏往,不包含#及其后面部分) 。對所有待簽名參數(shù)按照字段名的ASCII 碼從小到大排序(字典序)后骇塘,使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串string1伊履。這里需要注意的是所有參數(shù)名均為小寫字符。對string1作sha1加密绪爸,字段名和字段值都采用原始值湾碎,不進行URL 轉(zhuǎn)義宙攻。
即signature=sha1(string1)奠货。 示例:
noncestr=Wm3WZYTPz0wzccnW
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
timestamp=1414587457
url=http://mp.weixin.qq.com?params=value
步驟1. 對所有待簽名參數(shù)按照字段名的ASCII 碼從小到大排序(字典序)后,使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串string1:
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value
步驟2. 對string1進行sha1簽名座掘,得到signature:
0f9de62fce790f9a083d5c99e95740ceb90c27ed
? signature:'21bc68b5649f6d8bdafd2547fc86346c94c73d69',
最后递惋,配置到:wx.config({
debug:?true,
appId:?'wx1cbc0069ac955878',
timestamp:?'1414587457',
nonceStr:?'Wm3WZYTPz0wzccnW',
signature:?'21bc68b5649f6d8bdafd2547fc86346c94c73d69',
????? jsApiList: [
?'openLocation',
?'getLocation',
????? ]
? });
微信js接口簽名校驗工具:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
可以驗證下