微信小程序數據字段大小寫致使的坑

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

場景

  1. 小程序調用wx.login時會得到code,傳輸給服務端能夠獲得openid,unionid(綁定了開放平臺),session_key
  2. 小程序調用getUserInfo會得到encrypted_data,iv,解密後獲得unionId,openId
  3. unionidopenid這兩個場景鍵名大小寫是不一樣的

例子

  1. 服務端根據code獲取session_key返回結果以下:小程序

    {
        "session_key": "我是session_key",
        "openid": "我是openid",
        "unionid": "我是unionid"
    }
  2. 服務端根據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
        }
    }

能夠看到兩次一樣的字段openidunionid大小寫是不一樣的,此處容易踩坑。微信

結論

  1. 服務端根據code換session_key/openid/unionid小寫
  2. 服務端根據encrypted_data和iv解密獲得的openId/unionId大寫

最後,祝你們在開發過程當中少踩坑。session

更多精彩盡在個人博客一鍵直達app

相關文章
相關標籤/搜索