這兩天在開發微信小程序登陸以及加解密的時候,由於數據大小寫的問題被坑了一把。json
wx.login
時會得到code
,傳輸給服務端能夠獲得openid
,unionid(綁定了開放平臺)
,session_key
getUserInfo
會得到encrypted_data
,iv
,解密後獲得unionId
,openId
unionid
和openid
這兩個場景鍵名大小寫是不一樣的
服務端根據code獲取session_key
返回結果以下:小程序
{ "session_key": "我是session_key", "openid": "我是openid", "unionid": "我是unionid" }
服務端根據session_key解密encrypted_data和iv
返回結果以下:微信小程序
{ "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city": "CITY", "province": "PROVINCE", "country": "COUNTRY", "avatarUrl": "AVATARURL", "unionId": "UNIONID", "watermark": { "appid":"APPID", "timestamp":TIMESTAMP } }
能夠看到兩次一樣的字段openid
和unionid
大小寫是不一樣的,此處容易踩坑。微信
code換session_key/openid/unionid
是小寫
encrypted_data和iv
解密獲得的openId/unionId
是大寫
最後,祝你們在開發過程當中少踩坑。session
更多精彩盡在個人博客一鍵直達app