openid是唯一的么?同一个人同一个用户怎么会出现两个不一样的openid?
发布于 5 年前 作者 nlei 13158 次浏览 来自 问答

场景:同一个小程序

之前都好好的,最近用户报告他们没法看见他们对应的信息了,我查了数据库发现我们的用户很多都有2个openid 甚至有3个openid,但是按照我的算法是如果他使用了用户相关的功能,会授权然后我们就会拿到他们的微信的昵称啊头像啊啥的。。。然后给他们生成一个我们自己的用户号,这个用户号唯一并且和openid绑定。。。

什么情况下会有2个open id呢?我是按照正常的登陆流程来获取用户ID的

  1. wxlogin 然后拿到code传到后台用我们的服务器再次请求然后得到返回值

  2. 然后把session_key+openid分别存好后,session_key+openid 再MD5后生成一个简单的third_session然后返还给用户

  3. 每次都看过期没有,如果过期了重新请求一次,如果没过期继续用

这个流程应该没什么问题可是数据库里面有很多是有多个openid 的,我放几张图

为什么同一个用户会有2个甚至3个openid呢

3 回复

同一个用户对应同一个APP应用openID是唯一的,同一个用户对应不同的APP应用openID是不同的,你们是不是有多个应用。

测试环境中同样有这种情况,一个月内openId改了好几次了,怎么玩呢?

找腾讯客服吧

回到顶部