请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

小程序用户数据问题

老师,您好!
通过这门课程我成长了很多,非常感谢您!
我关于微信小程序用户数据的理解:

基础信息,昵称/头像……,小程序在用户授权后通过getUserInfo自己都可以拿到。
敏感数据(openid/session_key/unionid),小程序是不能直接拿到的。
开发服务器有两种获取方式:
1、直接通过小程序传过来的jscode,加上appid/app_secriet,向微信服务器直接获取。
2、小程序把通过wx.login({})拿到的jscode 和 通过getUserInfo获取到encryptedData和iv传给开发服务器,开发服务器向微信服务器通过jscode换取(openid/session_key/unionid)。开发服务器拿到encryptedData和iv和session_key,可以通过加密数据解密算法去解密得到敏感。

我有疑问,为什么开发服务器通过jscode就已经获取到敏感数据了,为什么还要多此一举去使用加密数据解密算法???

老师麻烦回答一下!!

正在回答 回答被采纳积分+3

2回答

Scott 2019-06-02 17:31:55

他们有一些差异性的,可以看下这个文档,关注前面三条情况就好了:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html


- 调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。

- 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。

- 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。


通过是结合起来一起用,如果用户关注过公众号,这里就可以走 code 的形式,如果没走通,就可以退回到让用户授权的情况,也就是弹窗,然年再把 encryptedData 解密去获得敏感信息,之前的回复不严谨

0 回复 有任何疑惑可以回复我~
Scott 2019-06-01 02:09:50

encryptedData 里面应该是不能进一步拿到 openid 和 unionid 的,需要通过 jscode 进一步获得更加敏感的用户 ID

0 回复 有任何疑惑可以回复我~
  • 提问者 鸡肋2016 #1
    老师的视频课程里,对encryptedData解密去拿到了敏感数据unionid。
    文档也说可以对encryptedData解密算法拿到敏感数据呀。
    我有疑问:
    1、视频里,已经可以通过小程序传过来的code去微信服务器拿到了敏感数据(unionid/openid/session_key)。为什么还要通过(session_key)去解密小程序传过来的encryptedData/iv得到敏感数据unionid?
    老师视频里是这么做的,麻烦老师解释一下!!
    回复 有任何疑惑可以回复我~ 2019-06-01 09:51:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信