直接上**
官方文件:
注:實現此功能需要後台道友的配合;
注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!
注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!
注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!
![在這裡插入描述](
<
!--引入jssdk
-->
"">
<
/script>
let temphref = window.location.href;
// 當前網頁的url
let temphash = window.location.hash;
// 獲取url #及其後面部分
let tempurl = temphref.
replace
(temphash,'')
;// 獲取不包含#及其後面部分的url
let=
'***'
;// 訪問後台道友的介面獲取簽名等資訊 timestamp noncestr signature
/script>
☆ 注意事項1. 簽名用的noncestr和timestamp必須與wx.config中的noncestr和timestamp相同。
2. timestamp時間戳控制到秒級別 10位
3. 簽名用的url必須是呼叫js介面頁面的完整url。
4. 出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。
jsapi_ticket
參考以下文件獲取access_token(有效期7200秒,開發者必須在自己的服務全域性快取access_token):
傳送門: 公眾平台的api呼叫所需的access_token的使用及生成方式說明.
用第一步拿到的access_token 採用http get方式請求獲得jsapi_ticket(有效期7200秒,開發者必須在自己的服務全域性快取jsapi_ticket):
成功返回如下json:
獲得jsapi_ticket之後,就可以生成js-sdk許可權驗證的簽名了。
簽名演算法
簽名生成規則如下:參與簽名的字段包括noncestr(隨機字串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網頁的url,不包含#及其後面部分) 。對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1。這裡需要注意的是所有引數名均為小寫字元。對string1作sha1加密,欄位名和字段值都採用原始值,不進行url 轉義。
即signature=sha1(string1)。 示例:
noncestr=wm3wzytpz0wzccnw
jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpg**i4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl-hhtdfl2fzfy1aochkp7qg
timestamp=1414587457
url=
步驟1. 對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1:
jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpg**i4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl-hhtdfl2fzfy1aochkp7qg&noncestr=wm3wzytpz0wzccnw×tamp=1414587457&url=
步驟2. 對string1進行sha1簽名,得到signature:
0f9de62fce790f9a083d5c99e95740ceb90c27ed
微信JSSDK 前端 自定義分享
檢視官方文件可見主要步驟為 步驟一 繫結網域名稱 如需要呼叫jssdk的鏈結為,則應該配置的js安全網域名稱為abc.what.com src script wx.config jssdk中config的資訊可以通過ajax 獲取 前端完整 const url window.location.hre...
JSSDK微信自定義分享朋友圈
一 分享功能 二 使用條件 2 有乙個備案網域名稱 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援https 請注意,如果你的頁面啟用了https,務必引入 否則將無法在ios9.0以上系統中成功使用js...
JSSDK微信自定義分享朋友圈
一 分享功能 二 使用條件 2 有乙個備案網域名稱 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援https 請注意,如果你的頁面啟用了https,務必引入 否則將無法在ios9.0以上系統中成功使用js...