小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在同一个账号,同一个主体下,微信网页登录和APP登录获取到的unionid不同
诡异的是 不是每次都会不同 ,大多数用户都是唯一的,少部分会出现不一致
重点来了~~~~~
不一致的值只差了一个字符
比如下面这样:(这个只是其中一个数据)
一个是:o_G3O5otl93ImXZqk4ffye1Zu__c
另一个是:o_G3O5otl93ImXZqk4ffye1Zu-_c
只差了 __c -_c
头像 昵称都是一样的,重点不是所有的用户都这样 ,是部分数据会出现这种情况,有人有遇到吗
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
使用微信登录的逻辑是通过 OAuth 认证从微信服务器拿到当前用户的 openid ,这个 openid 就是当前用户在微信的不同平台的唯一身份证。网站通过这个身份证来判断是哪个用户。
既然每个用户公众号和小程序里面的 openid 都不一样,如何判断是同一个人呢?这里微信开放平台的作用就出来了,如果您开通了微信开放平台,并且关联了公众号和小程序,那么用户在请求openid的同时,会得到一个 UnionID,这个 UnionID 是微信全平台通用的,并且同一个用户在小程序、公众号、APP里面获取到的这个 UnionID 是唯一的,这样主题就可以通过 UnionID 来判断用户身份。
一些站长没有开通开放平台,在发布了小程序,APP之后才开通的,那么之前通过网页微信登录的用户是没有 UnionID 的,这样程序会认为他是一个新用户,就出现了用户在网站、小程序和APP里面登录的账户不是同一个账户的情况。微信不支持通过 UnionID 反查不同平台的 openid,所以这个问题没有解决方法,只能网站里面重新解绑,然后重新绑定微信。
如果您打算做小程序或者APP,并且需要微信登录,建议提前开通微信开放平台,并关联您的公众号。
原文来源如下:
https://7b2.com/circle/54408.html
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
只要绑在一个开发者帐号下,即使主体不一样,也允许获取到统一的unionID。绑定同一个微信开放平台帐号下,同一个用户的unionID如果不同的,原因只能是开发者搞混openid。openid要对应所属的AppID,才会相同。 举个例子:1.小程序AppID:wxc104eb635b8cxxxx ——帐号A,公众号AppID:wx311a2a9a8e1dxxxx ——帐号B,2.核实帐号A和帐号B 绑定同一个微信开放平台帐号是:xxxxxx@sina.com ,所以用一个用户的unionID相同,3.而开发者所反馈的出现unionID不同,原因是:所提供的openid不属于帐号A,也不属于帐号B,而是属于帐号C或帐号D,而帐号C或帐号D并没有绑定在同一个微信开放平台帐号下,所以unionID不同
按照上面的提示仔细核对下
这个是另外一条数据
数据库中 unionid 这个字段是做了唯一性的 所以同样的值是插入不了的,细心对比了之后才发现,只是不同了一个字符而已。。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
使用微信登录的逻辑是通过 OAuth 认证从微信服务器拿到当前用户的 openid ,这个 openid 就是当前用户在微信的不同平台的唯一身份证。网站通过这个身份证来判断是哪个用户。
既然每个用户公众号和小程序里面的 openid 都不一样,如何判断是同一个人呢?这里微信开放平台的作用就出来了,如果您开通了微信开放平台,并且关联了公众号和小程序,那么用户在请求openid的同时,会得到一个 UnionID,这个 UnionID 是微信全平台通用的,并且同一个用户在小程序、公众号、APP里面获取到的这个 UnionID 是唯一的,这样主题就可以通过 UnionID 来判断用户身份。
一些站长没有开通开放平台,在发布了小程序,APP之后才开通的,那么之前通过网页微信登录的用户是没有 UnionID 的,这样程序会认为他是一个新用户,就出现了用户在网站、小程序和APP里面登录的账户不是同一个账户的情况。微信不支持通过 UnionID 反查不同平台的 openid,所以这个问题没有解决方法,只能网站里面重新解绑,然后重新绑定微信。
如果您打算做小程序或者APP,并且需要微信登录,建议提前开通微信开放平台,并关联您的公众号。
原文来源如下:
https://7b2.com/circle/54408.html
只要绑在一个开发者帐号下,即使主体不一样,也允许获取到统一的unionID。绑定同一个微信开放平台帐号下,同一个用户的unionID如果不同的,原因只能是开发者搞混openid。openid要对应所属的AppID,才会相同。 举个例子:
1.
小程序AppID:wxc104eb635b8cxxxx ——帐号A,
公众号AppID:wx311a2a9a8e1dxxxx ——帐号B,
2.核实帐号A和帐号B 绑定同一个微信开放平台帐号是:xxxxxx@sina.com ,所以用一个用户的unionID相同,
3.而开发者所反馈的出现unionID不同,原因是:所提供的openid不属于帐号A,也不属于帐号B,而是属于帐号C或帐号D,而帐号C或帐号D并没有绑定在同一个微信开放平台帐号下,所以unionID不同
按照上面的提示仔细核对下
这个是另外一条数据
数据库中 unionid 这个字段是做了唯一性的 所以同样的值是插入不了的,细心对比了之后才发现,只是不同了一个字符而已。。