美文网首页
小程序获取openid和unionid

小程序获取openid和unionid

作者: 瓜田猹 | 来源:发表于2018-01-15 19:58 被阅读270次

    通过调用wx.login获取code,调用 wx.getUserInfo获取encryptedData和iv

     getUserInfo(cb){
          wx.login({
            success: log_res => {
              wx.getUserInfo({
                withCredentials:true,
                success:res_user => {
                  if(log_res.code){
                  //调用以下方法
                    getTocken(log_res.code,res_user.encryptedData,res_user.iv);
                  }else {
                    console.log('获取用户登录态失败!'+log_res.errMsg)
                  }
                }
           })
        }
    })
      
    function getTocken(code,encryptedData,iv){
        Promisify.httpsPromisify(wx.request)({
          url: '  ',
          header: {
            "Content-Type":"application/x-www-form-urlencoded"
          },
          method:'GET',
          data:{
            code:code,
            encryptedData:encryptedData,
            iv:iv
          }
        }).then(function (res) {
          console.log(res)
          wx.setStorageSync('tocken', res.tocken)
        }.bind(this))  
    }
    
    

    提供的code+appid+appsecrect的获取以下信息

    (
        [session_key] => xxxxxxx
        [expires_in] =>xxxxx
        [openid] => xxxxxxxx
        [unionid] => xxxxxxxx
    )
    

    服务器通过解密 encryptData 得到如下数据:

      {
        "openId": "OPENID",
        "nickName": "NICKNAME",
        "gender": GENDER,
        "city": "CITY",
        "province": "PROVINCE",
        "country": "COUNTRY",
        "avatarUrl": "AVATARURL",
        "unionId": "UNIONID",
        "watermark":
        {
            "appid":"APPID",
            "timestamp":TIMESTAMP
        }
    }
    

    相关文章

      网友评论

          本文标题:小程序获取openid和unionid

          本文链接:https://www.haomeiwen.com/subject/sewdoxtx.html