QQ小游戲 用戶登錄態(tài)簽名

2020-07-15 17:38 更新

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

簽名算法

目前支持的簽名算法是 hmac_sha256。 對(duì)于POST請(qǐng)求,開發(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)

簽名示例

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

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

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

'o0q0otL8aEzpcZL/FT9WsQ=='

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

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

`

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

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

session_key 合法性校驗(yàn)

獲取用戶態(tài)簽名后,可以調(diào)用后臺(tái)接口來(lái)校驗(yàn) session_key 的合法性

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)