zoukankan      html  css  js  c++  java
  • 微信小程序中用户唯一ID的获取

    折腾到半夜,搞得挺兴奋,总结一下,免得忘了:

    1、微信小程序直接获得的是一些简单信息,基本无用

    2、用户唯一标识是openid,还有一个unionid是关联多个公众号之类情况下用,我不大关心

    3、在getUserInfo的返回数据中,有加密信息,

    wx.getUserInfo({
      success: function(res) {
      }
    })

    res包括userInfo,iv,rawData,signatureencryptedData,这些东西的关系比较复杂,我理解是这样的:

    1)userInfo包括简单的用户信息

    2)重要信息在encryptedData中,解开后包括:

    image

    3)要解开的话,需要密文-encryptedData,向量-iv,密钥-session-key。密钥这里没有。

    4)rawData,signature是来做校验的,不太关心

    4、session-key的获取方式:

    1)登录成功后,传给回调的参数包括一个code,但这个code会很快失效

    2)通过调用

    https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

    可以获得session-key和openid。除了code,其他参数很简单,文档里有说明。

    在浏览器中测试没有问题,但是,在小程序中也不能运行,因为小程序只能访问认证过的服务器。换言之,必须要把这个东西放到服务器上,从微信中去调用服务器的页面,服务器的页面再去访问这个接口,然后再把数据反馈回来。

    道理搞明白其实就很简单了,获得了openid,其实也没用必要再去解密了,因为那里除了openid,也没啥想要的东西。

    我的小程序:简单账本

    参考:

    https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject

    http://bbs.umeng.com/thread-6081-1-1.html

    http://www.cnblogs.com/nosqlcoco/p/6105749.html

    http://blog.csdn.net/u013803499/article/details/52873537

  • 相关阅读:
    csp-s模拟103
    csp-s模拟102
    csp-s模拟101
    csp-s模拟100
    csp-s模拟99
    csp-s模拟98
    csp-s模拟97
    csp-s模拟96
    csp-s模拟95
    csp-s模拟94
  • 原文地址:https://www.cnblogs.com/jetz/p/6384815.html
Copyright © 2011-2022 走看看