微信小程序接入登录获得用户 OpenID 和公众号不一样,查资料后发现需要 UnionID,但我们公众号网页登录没有用 snsapi scope,拿不到 UnionID,导致很多用户重复注册,有解吗?被用户投诉了好几次几万元余额没了

查看 613|回复 41
nitsuya   
@drymonfidelia #28 你可以先把 小程序创建的用户全部 剔除来... 改完逻辑. 重新授权 的时候, 再把钱加回去... 唯一的办法了~.
bestie   
1. 首先,公众号那边修改原来的授权回调页面,使用 snsapi_userinfo ,以确保之后从公众号这边进来的都能拿到 unionid
2. 新建一个授权回调页面,使用 snsapi_base 静默授权,这个页面嵌入到小程序里,参照#25 说的,用这个 webview 里返回的 openid ,再加上你从小程序这边获取的 unionid 做绑定,这样小程序这边进来的用户和公众号的通了,当然你还要处理两边数据合并的问题
nitsuya   
@drymonfidelia #29 还要提醒一下, 只要 AppId 一样, 不管是 OpenId 还是 UnionId, 前 6 位一定是一样的... 记得授权的时候 校验一下前 6 位. 防止别人骚操作 公众号或开放平台, 导致数据错乱进了数据库 是无法纠正的噩耗!
markgor   
1 、先去开放平台 注册+认证+绑定对应的小程序和公众号;
2 、小程序的直接获取 unionId 即可。公众号的通过获取用户基本信息接口,传递 openId 过去,换取 unionId 回来。
3 、此时 unionId 均一致了,用户侧做个账户选择就好了
jdkxnktkdkxod   
这是不测试就上线?但凡懂一点微信开发,多看一点文档,都能知道这个问题吧
bestie   
@markgor 如果授权的时候是 snsapi_base ,是拿不到 unionid 的,2 走不通
markgor   
@bestie 为什么走不通?获取用户基本信息(UnionID 机制)就是通过提供 openID 换取 unionID 的啊
ixwen   
小程序注册的时候用 webview 获取公众号的 openid 然后将小程序的 openid 跟公众号的 openid 关联一下
dream7758522   
你这个用户数据已经全乱了,我觉得只能公众号和小程序绑定同一手机号,打通数据了。
vacuitym   
要注册一个微信开放平台账号,然后小程序和公众号绑定到同一个开放平台,这样才能拿到统一的 unionId
您需要登录后才可以回帖 登录 | 立即注册

返回顶部