微信JS-SDK“分享信息設(shè)置”API及數(shù)字簽名生成方法

前提:一個(gè)通過認(rèn)證了的微信公眾號(hào)或者開發(fā)者帳號(hào)录别,沒有通過認(rèn)證的公眾帳號(hào)暇咆。數(shù)字簽名認(rèn)證也能成功低零,但是分享信息是無法設(shè)置成功的

Step1 添加安全域名

左側(cè)公眾號(hào)設(shè)置--功能設(shè)置--JS接口安全域名
添加安全域名

Step2 生成數(shù)字簽名(服務(wù)端)

http://images.cnitblog.com/blog/405426/201501/280924499562893.png

獲取access_token

請(qǐng)求接口:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret
請(qǐng)求方法: get
返回結(jié)果: access_token (有效期7200秒实柠,必須在服務(wù)端緩存)

獲取簽名所需ticket

請(qǐng)求接口:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=上一步中獲取的access_token&type=jsapi
請(qǐng)求方法: get,
type: JSON,
返回結(jié)果: jsapi_ticket (有效期7200秒水泉,必須在服務(wù)端緩存)

生成隨機(jī)字符串

// 隨機(jī)字符串產(chǎn)生函數(shù)
var nonceStr = function() {
    return Math.random().toString(36).substr(2, 15);
};

生成時(shí)間戳

// 時(shí)間戳產(chǎn)生函數(shù)
var timeStamp = function () {
    return parseInt(new Date().getTime() / 1000) + '';
};

簽名算法 (可以參考官方給出的demo:https://github.com/arronf2e/jssdk_simple)

var calcSignature =function(ticket,nonceStr,timeStamp,url) {
    var result = {
        jsapi_ticket: ticket,
        nonceStr: nonceStr,
        timestamp: timeStamp,
        url: url,
    }
    var str = 'jsapi_ticket=' + ticket + '&noncestr=' + nonceStr + '&timestamp=' + timeStamp + '&url=' + url;
    // 對(duì)str使用sha1簽名,得到signature窒盐,這里使用jsSHA模塊草则,需install
    shaObj = new jsSHA(str, 'TEXT');
    result.signature = shaObj.getHash('SHA-1', 'HEX');
    return result; // 返回到前端,提供接口由前端請(qǐng)求
}

Step3 在web中使用數(shù)字簽名

@1 需要調(diào)用JS接口的頁面引入如下JS文件蟹漓,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js

@2 通過config接口注入權(quán)限驗(yàn)證配置

wx.config({
    debug: true,
    appId: '',
    timestamp: ,
    nonceStr: '',
    signature: '',
    jsApiList: ['onMenuShareTimeline']  //需要使用的JS接口列表
})

@3 通過ready接口處理成功驗(yàn)證

//config信息驗(yàn)證后會(huì)執(zhí)行ready方法
wx.ready(function() {
    wx.onMenuShareTimeline({
        title: '',
        desc: '',
        link: '',
        imgUrl: '',
        success: function() {
            
        },
        cancel: funcntion() {
            
        }
    })
})

@4 通過error接口處理失敗驗(yàn)證

//config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù)
wx.error(function(res) {
    如簽名過期導(dǎo)致驗(yàn)證失敗炕横,具體錯(cuò)誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看葡粒,對(duì)于SPA可以在這里更新簽名份殿。
})

Done!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗽交,隨后出現(xiàn)的幾起案子卿嘲,更是在濱河造成了極大的恐慌,老刑警劉巖轮纫,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔寡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掌唾,警方通過查閱死者的電腦和手機(jī)放前,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門忿磅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凭语,你說我怎么就攤上這事葱她。” “怎么了似扔?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵吨些,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我炒辉,道長(zhǎng)豪墅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任黔寇,我火速辦了婚禮偶器,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缝裤。我一直安慰自己屏轰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布憋飞。 她就那樣靜靜地躺著霎苗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪榛做。 梳的紋絲不亂的頭發(fā)上唁盏,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音瘤睹,去河邊找鬼升敲。 笑死答倡,一個(gè)胖子當(dāng)著我的面吹牛轰传,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瘪撇,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼获茬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了倔既?” 一聲冷哼從身側(cè)響起恕曲,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渤涌,沒想到半個(gè)月后佩谣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡实蓬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年茸俭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吊履。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡调鬓,死狀恐怖艇炎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腾窝,我是刑警寧澤缀踪,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站虹脯,受9級(jí)特大地震影響驴娃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜循集,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一托慨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧暇榴,春花似錦厚棵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奸例,卻和暖如春彬犯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背查吊。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工谐区, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逻卖。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓宋列,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親评也。 傳聞我的和親對(duì)象是個(gè)殘疾皇子炼杖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容