• 欢迎访问我的博客

openid与unionid(微信登录问题必备)

微信开发 iJiaxin 来源:小程序社区 1年前 (2017-07-11) 682次浏览 0个评论 扫描二维码

我感觉最近对 unionid 和 openid 的一些知识的需求开始变多了,所以特此将一些有意义的讨论附在此处 讨论一:小程序 怎么获取 unionid 1.加入开放平台 2.获取 session_key 3.wx.getUserInfo 获取到 encryptedData 和 iv 传给 …

我感觉最近对 unionid 和 openid 的一些知识的需求开始变多了,所以特此将一些有意义的讨论附在此处
讨论一:小程序 怎么获取 unionid

1.加入开放平台
2.获取 session_key
3.wx.getUserInfo 获取到 encryptedData 和 iv 传给服务器
4.sessionKey+iv 解密 encryptedData 得到带 unionId 的 json

开放平台 需要先认证
session_key 是前台根据 wx.login 的 code 换来的(服务器端必须要做好合理的缓存设计)
备注:wx.login 的 code 只能使用一次 多次 login 或者随意 login 会造成 iv 和 encryptedData 和 session_key 不对应而解密失败


讨论二:你们有用过这个吗?我想取 unionId
1.png

这个 cheksession 我不太理解,我是要登录网站的用户,这个 cheksession 是检查微信登录还是网站登录呢?

 

openid 不要再网络中传输

2.jpg

3.jpg

传 encryptedData 到服务端得到 unionid;

cheksession就是检查有没有过期;

1、不依赖微信的的 openid,登陆使用以前的系统(最多也就是绑定一下 openid,微信和系统的账号绑定)
2、完全依赖,就需要使用


讨论三:关于这个,为什么我解密完少了 unionId,有哪个小伙伴知道的吗
4.png

unionId 不是要在开发者中心 绑定公众号才会有吗 

如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用 UnionID 机制来满足上述需求。


讨论四:谁了解 openid、unionid 的关系?

多个应用下的用户的 openid 不一样?那么,用户登录不同的业务模块,可能产生不同的账号,那就比较糟糕
看介绍说 unionid 是一致的,用 unionid 就可以避免这种情况发生?
微信用户登录认证这一套流程,是不是只有在使用微信登录、使用微信绑定本地账号的时候用,除此之外,在已经绑定过的用户只需要记录我们自己产生的 session 信息即可吧,无需要每次都去微信登录验证

对,保存在本地,用来验证用户身份的

还有个疑问:
       微信会员打开我门的小程序后,程序通过 wx.login 获得到 code 提交到服务端,服务器端再拿 code 向微信服务器请求就可以拿到 openid 了,然后我就可以直接用 openid 来绑定我们自己的会员系统。
       问题来了,那么 wx.getUserInfo 中的信息貌似没啥用了?
这个可以不用发请求就能获取用户信息,而且可以获取 unionid


openid、unionid 的区别,官方解释!
http://mp.weixin.qq.com/s?__biz=NzA3OTQ2OTgw&mid=204189507&idx=1&sn=58fd3df3a8323f6b7bfb2680f222c293&scene=5#rd
5.png

我不是简单的获取微信的用户信息,我们要求把微信用户最终绑定到我们的账号系统,也就是成为我们的用户。
说白点,我需要拿到用户的 openid、unionid,这样一来,就可以绑定到我们的账号系统中,以后用户登录微信就直接关联我的会员系统了

 

那就需要,


但貌似通过 code 去微信只能拿到 openid,不能拿到 unionid,只能通过 wx.getUserInfo 中的 encryptData 来解密后拿到 unionid
是这样吗?


讨论五:openid 用来干嘛的啊

后台唯一标识 当前用户


唯一标识不是 unionid

unionid 针对单个用户在不同平台中的唯一标识

6.png

简单说吧:你有一个公众号,有一个 app,用户在这俩里面的 openid 是不同的,但是 unionid 是一样的

 


iJiaxin 个人博客 , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接:openid 与 unionid(微信登录问题必备)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
149 queries in 2.326 seconds, using 11.01MB memory