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

2020-07-15 17:38 更新

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

簽名算法

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

signature = hmac\_sha256(post\_data, session_key)

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

signature = hmac\_sha256('', session\_key)

簽名示例

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

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

開發(fā)者需要計算出 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請求

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

session_key 合法性校驗

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號