收藏
回答

openid是唯一的么?同一个人同一个用户怎么会出现两个不一样的openid?

问题模块
API和组件

场景:同一个小程序

之前都好好的,最近用户报告他们没法看见他们对应的信息了,我查了数据库发现我们的用户很多都有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呢

最后一次编辑于  2017-10-25
回答关注问题邀请回答
收藏

3 个回答

  • 谭小谭
    谭小谭
    2018-01-24

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

    2018-01-24
    赞同 1
    回复
  • 晨曦
    晨曦
    2018-07-12

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

    2018-07-12
    赞同
    回复 1
    • 小蚂蚁
      小蚂蚁
      2018-07-12

      我直接不用openid了。。。。用自己的token。。要么你就用unionid

      2018-07-12
      回复
  • Phy
    Phy
    2017-10-27

    找腾讯客服吧

    2017-10-27
    赞同
    回复