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

查看 617|回复 41
BeforeTooLate   
@drymonfidelia
>我尝试过这个接口,不知道为什么很多用户没有 unionid 字段
需要这些用户重新进入授权页面获取的吧,是不是存在缓存。不可能部分用户获取不到 unionid 字段
jstony   
你可以把你的公众号和小程序都绑定在开放平台上,打通 openid 和 unionid ,你现在就有个三个 id ,一个是公众号 openid ,一个是小程序 openid ,一个是 unionid 。
原来的公众号用户如果通过小程序登录,识别不到公众号账户下的资产是正常的,因为他们没有关联上。
你可以在小程序上嵌入一个 webview ,将公众号登录页面放在里面,通过公众号登录拿到公众号的 openid ,而小程序的 openid 和 unionid 在小程序里获取,这样就把三个 id 串起来了。
说白了也就是小程序的用户登录逻辑是通过 webview 嵌入的公众号页面实现的。后期如果发现用户二次打开的时候已经做过 id 打通,也可以直接做无感登录。
icloudguizhou   
@drymonfidelia #8 投诉就能退钱吗?之前小程序买东西不发货投诉也不退款,就是诈骗
drymonfidelia
OP
  
@laoertongzhi 官方文档我确实看过了,这个接口有很多用户的 union id 都获取不到,不知道是不是因为 #18 说的用户没有绑定银行卡的原因(感觉这个原因的话不太可能导致这么多用户出问题,已经让客服那边帮忙联系一部分用户核实了)还是#17 说的必须授权 snsapi 的原因(感觉更有可能是这个)
@yiqiao
drymonfidelia
OP
  
@jstony 这个点子我也想到并尝试过了,问题是小程序 webview 嵌入公众号的登录页面没办法弹出 snsapi 那个授权窗口,授权不了 unionid
LeoSpeaker   
静默登录拿不到 unionid 。
你这个情况可以直接使用小程序嵌入 webview ,使用静默登录,然后通过小程序里面的 webview 的跳转到登录成功页面将登录后的参数发送给小程序作为储存即可。
放弃小程序的登录接口。
RandomJoke   
@drymonfidelia 理论上这个方法你不用 unionId 也可以,就是拿到公众号的 openId 查询是否有老用户,有就直接登录,没有就用两个 openId 一起注册,相当于两个 openId 做唯一标识。。
nitsuya   
小程序已获取到 小程序 OpenId + UnionId.
前提下
小程序里面套个网页做公众号静默授权,
此时就有 公众号 OpenId + UnionId.
在此时 UnionId 肯定是一致的, 公众号 OpenId 就能补全 UnionId 了并关联上小程序 OpenId.
仅限微信, 支付宝不支持小程序做网页授权.
现在你们数据已经乱套了 十分头痛的~
drymonfidelia
OP
  
@Nitsuya 现在确实问题很大,还有很多人又在通过小程序创建的新用户里面充值,导致不能先下线小程序避免进一步混乱,只能暂停小程序注册
drymonfidelia
OP
  
#25 #27 楼的思路我理解了,用静默登录拿到的 openid 和 unionid 绑定好像确实可以,非常感谢
您需要登录后才可以回帖 登录 | 立即注册

返回顶部