這兩天在開發微信小程序登陸以及加解密的時候,由於數據大小寫的問題被坑了一把。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