溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

小程序游戲開(kāi)發(fā)用戶登錄態(tài)簽名怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-03-10 10:14:22 來(lái)源:億速云 閱讀:215 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了小程序游戲開(kāi)發(fā)用戶登錄態(tài)簽名怎么實(shí)現(xiàn)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇小程序游戲開(kāi)發(fā)用戶登錄態(tài)簽名怎么實(shí)現(xiàn)文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

  用戶登錄態(tài)簽名

  小程序的一部分后臺(tái)(HTTP)接口要求驗(yàn)證用戶登錄態(tài)。開(kāi)發(fā)者在調(diào)用時(shí)需提供以session_key為密鑰生成的簽名。其中session_key是指通過(guò)wx.login 獲得的登錄態(tài)。

  簽名算法

  目前支持的簽名算法是 hmac_sha256。 對(duì)于POST請(qǐng)求,開(kāi)發(fā)者生成簽名的算法是:

  signature = hmac_sha256( post_data, session_key )

  其中post_data為本次POST請(qǐng)求的數(shù)據(jù)包。特別地,對(duì)于GET請(qǐng)求,post_data等于長(zhǎng)度為0的字符串。

  signature = hmac_sha256( "", session_key )

  簽名示例

  例如開(kāi)發(fā)者需要請(qǐng)求的HTTP(POST)接口,其中請(qǐng)求包為一個(gè)json字符串。

  curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=???&sig_method=hmac_sha256'

  開(kāi)發(fā)者需要計(jì)算出signature參數(shù)。假設(shè)用戶當(dāng)前有效的session_key 為 :

  'o0q0otL8aEzpcZL/FT9WsQ=='

  則開(kāi)發(fā)者生成簽名應(yīng)該是

  hmac_sha256('{"foo":"bar"}', 'o0q0otL8aEzpcZL/FT9WsQ==') = 654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b

  開(kāi)發(fā)者服務(wù)器發(fā)起的HTTP請(qǐng)求

  curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b&sig_method=hmac_sha256'

  session_key 合法性校驗(yàn)

  我們提供接口供開(kāi)發(fā)者校驗(yàn)服務(wù)器所保存的登錄態(tài)session_key是否合法。 為了保持session_key私密性,我們提供的校驗(yàn)接口本身不直接明文session_key,而是通過(guò)校驗(yàn)登錄態(tài)簽名完成。

  接口地址

  請(qǐng)求方法:GET

  https://api.weixin.qq.com/wxa/checksession?access\_token=ACCESS\_TOKEN&signature=SIGNATURE&openid=OPENID&sig\_method=SIG\_METHOD

  調(diào)用示例

  curl -G 'https://api.weixin.qq.com/wxa/checksession?access_token=OsAoOMw4niuuVbfSxxxxxxxxxxxxxxxxxxx&signature=fefce01bfba4670c85b228e6ca2b493c90971e7c442f54fc448662eb7cd72509&openid=oGZUI0egBJY1zhBYw2KhdUfwVJJE&sig_method=hmac_sha256'

  參數(shù)說(shuō)明

  參數(shù)必填說(shuō)明

  access_token是接口調(diào)用憑證

  openid是用戶唯一標(biāo)識(shí)符

  signature是用戶登錄態(tài)簽名

  sig_method是用戶登錄態(tài)簽名的哈希方法

  buffer是托管數(shù)據(jù),類(lèi)型為字符串,長(zhǎng)度不超過(guò)1000字節(jié)

  返回結(jié)果

  正確時(shí)的返回JSON數(shù)據(jù)包如下:

  {"errcode":0,"errmsg":"ok"}

  錯(cuò)誤時(shí)的返回JSON數(shù)據(jù)包如下(示例為簽名錯(cuò)誤):

  {"errcode":87009,"errmsg":"invalid signature"}

關(guān)于“小程序游戲開(kāi)發(fā)用戶登錄態(tài)簽名怎么實(shí)現(xiàn)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“小程序游戲開(kāi)發(fā)用戶登錄態(tài)簽名怎么實(shí)現(xiàn)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI