QQ第三方登录不同平台(IOS,Android,网站)如何识别同一用户?

白菜1031
  • 5.4k

公司项目需要支持不同平台(IOS,Android,网站)

这三个平台分别在腾讯开放平台和QQ互联申请了第三方登录功能。

使用第三方账号可以直接登录应用,不需要再填写站内注册信息。

APP ID 是不同的。

  • IOS: 110xxxxxxx06

  • Android: 110xxxxxxx50

  • 网站: 101xxxx07

结果三个平台生成的用户 open_id 也是不同的。。。

这样就没有办法确定同一用户了。请问怎么解?

这才做到QQ登录,不知道微信登录是不是也有这个坑。。

回复
阅读 6.7k
6 个回答
白菜1031
  • 5.4k
✓ 已被采纳

刚刚突然找到了这个。。但是似乎没有好的解决办法。
问一个qq互联登录的问题:一个开发者账号下的多应用之间统一用户


5.12补充

在网上查到了两种方法:

  1. 腾讯开放平台创建应用的坑,如何多个应用共用同一个Appid? 此方法适用于还未上线应用,没有用户数据需要迁移,亲测可用。

  2. 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样 这个方法适用于已经在生产环境的应用,已经踩坑了,需要合并用户账号数据。这个方法我没有测试。


8.04补充

该问题最终通过向腾讯发送申请邮件的方式解决:

数据打通表格下载地址:http://wiki.connect.qq.com/%E...

填写表格内容,发送给 [email protected] 后。一小时后(网上有人说要很久,但是我这里确实很快)就收到回复:

您好,已将所有appid设置统一unionID,可通过以下接口进行获取:https://graph.qq.com/oauth2.0/me?access_token=ACCESSTOKEN&unionid=1 ,请查看验证。
若后续遇到打通类疑问,请及时邮件反馈,为您核实处理。若遇到技术类、审核类问题可联系企业QQ:800013811进行咨询,谢谢!
温馨提示:建议尽量不要修改移动的appid、网站的appid及开发者帐号等信息,避免使用报错。

腾讯为申请的用户特别开通了一个接口:https://graph.qq.com/oauth2.0/me?access_token=ACCESSTOKEN&unionid=1。可以获取唯一ID.

还附了接口说明:
图片描述

QQ登录之后,让他绑定微信.....不就把这两个open_id关联起来了..

goodmanli
  • 5
新手上路,请多包涵

第三方登录只是引流的一种方式。让他绑定手机。

你依靠第三方登录是没法做到统一用户的,必须要有一个唯一凭证。通常是邮箱或者手机号,可以直接通过绑定手机号或邮箱进行注册,也可以先通过第三方登录然后再让用户绑定手机号或邮箱(这样做的优点是不需要用户在填写昵称和头像)

第一个入口进来的时候内部给分配一个用户ID,然后接下来的关联起来,加个关联表就KO了

github就没有openid这个东西,不过会返回用户的id,可以把那个id当作openid也就是用户的唯一标识。

QQ这个还真不好弄,不行你就只能弄一个主账号,然后第三方的做绑定。

宣传栏