微信小程序的登陆问题

wx.login 可以获取openid 和session_key
wx.getUserInfo 可以获取基础的userInfo和加密签名数据

微信官方给的登陆流程是先wx.login 获取到openid存到数据库里,用到用户信息的时候 再 wx.getUserInfo获取基础用户信息,拿到用户基础信息之后可以把用户信息也存储到数据库里了。

正常来说这时候已经可以了,为什么还要去根据session_key和加密签名获取用户信息呢?这些有什么用呢?

阅读 3.5k
4 个回答

你要把数据发给服务器去存储,不是加密的数据如何保证是正确的呢?

可以去了解下微信的安全机制,还md5加密。

getUserInfo拿到的只是基础信息头像昵称什么的,使用code在服务端拿的是用户的sessionkey、openId,这两个信息显然更隐私一些,代表着这个用户。

两个问题

  1. 拿到用户信息后存储到数据库就可以了

    • 这样确实可以了.你没必要再去解密拿其他数据
  2. 为什么还要去根据session_key和签名获取用户信息?

    • 如果仅仅是获取用户头像昵称信息,是没必要通过session_key获取的,因为用户头像昵称信息明文已经有了
    • 如果要获取unicode就必须通过解密才能获取,因为明文里面没有
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题