无码日韩精品无码国产_一级做a爰片久久毛片潮喷_国产欧美国日产_久久9热re这里只有国产中文精品6_每天将为您更新成人影视在线看免费观看

Menu
小程序資訊
小程序資訊
微信小程序用戶信息解密 C#
時間:2016-10-13 18:24:00
  • 背景

有幸參加微信小程序的內(nèi)測,由于公司之前已經(jīng)有自己的服務大號,積累轉(zhuǎn)化了大量的會員

所以在做小程序時,要實現(xiàn)會員的互通,想到的是 unionid

 

  • 開發(fā)文檔

wx.login(OBJECT)

調(diào)用接口獲取登錄憑證(code)進而換取用戶登錄態(tài)信息,包括用戶的唯一標識(openid) 及本次登錄的 會話密鑰(session_key)

參見:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=1474887500719

wx.getUserInfo(OBJECT)

獲取用戶信息,需要先調(diào)用 wx.login 接口

其中需要的unionid在調(diào)用成功返回的

參見:https://mp.weixin.qq.com/debug/wxadoc/dev/api/open.html?t=1474887500618

是個加密數(shù)據(jù),解密算法

參見:https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

 

  • 實現(xiàn)
  1. code 換取 session_key

前端先調(diào) wx.login 得到code

后端換取session_key和openid, openid返回前端,session_key保存(緩存)解密用

注意:一個code只能換取一次;

再次調(diào)用 wx.login, 會導致上一次的 session_key 失效,解密出來的都是亂碼

  2. 解密

前端先調(diào) wx.getUserInfo 得到encryptData

用login返回的openid,encryptData 調(diào)后端解密

剛開始按開發(fā)文檔,用C# 系統(tǒng)自帶AES解密失敗

報“填充無效,無法被移除”異常

在網(wǎng)上扒拉了一圈,也沒找到有用的信息,最終在github上,找?guī)Я藚⒖即a,自己再改改,才解密成功

  • 結(jié)語

代碼本身沒啥牛逼的,希望貼出來能對后面的開發(fā)伙伴有所幫助 :)

咨詢
微信掃碼咨詢
電話咨詢
400-888-9358