第三方登录,当web端和移动端数据需要进行同步的时候发现 同一个QQ,通过手机端第三方登录进去,和通过网站登录进去,因为openid不一样,会生成两个用户。
微信: 独有的 unionid机制, 用户唯一标识符,同个开发账号下的应用 有个unionid是一样的
微博:更简单, web + 移动统统使用 uid做为用户唯一标识
QQ : 创建的web端应用产生一个 APP ID 以及一个 APP KEY 创建移动应用的时候依然会产生一个新的APP ID 和 APP KEY 此时,使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样 openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 .
手机应用和网站应用使用的appid不是同一个,所以,获取到的openid也不会相同
那么问题来了
同一个QQ,通过手机端第三方登录进去,和通过网站登录进去,因为openid不一样,会生成两个用户,
客服说 发邮件申请绑定,但是只能是用一个开发账号下的一个网站应用和一个移动应用(多个就不行略坑!)
解决方法:
给connect@qq.com发送邮件,内容格式:
第三方登录,web端返回的openid和手机端返回的openid不一致, 现申请两个appid合并
移动应用:
appid:aabbbcccccc
appkey:aaaaaa
网站应用:
appid:bbbbbbb
appkey:ddddddddd
然后我这边是12:01分发送的邮件, 回复来的时候是 14:48分。 可能每个人的回复情况不一样吧,下面这张图是回复内容。根据内容走就可以了,打通下appid,指定个主要的appId就可以了。
今天又看了下这个问题, 出现这个问题的原因是 在刚刚创建移动应用的时候,忘记点击关联QQ互联,前提是网站端已经存在一个应用,直接关联APPID 和APPKEY就行了。 一定不要忘记关联QQ互联!一定不要忘记关联QQ互联!一定不要忘记关联QQ互联!重要的事情说三遍, 阿西吧,犯了个愚蠢而又低级的错误。。。上面的情况是在你忘记关联的情况下,已经提交上线,可以采取上面打通的方式来解决。打通以后,代码什么的都不需要修改了,用的就是你设置的主APP ID,下面是截图
哈哈。 就先到这吧。我今天刚刚创建了新的应用并关联以及修改了项目重新提交了个版本,但是之前通过审核的版本也可以正常使用了。新的和打通以后的都是一样的,用的网站应用的APPID 和 APPKEY