解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题

背景:网页应用已运行很久,正在开发移动应用,需要进行用户共享(即同一个账号两边都可以登录),然后发现移动应用这边微信、QQ登录所获取到的openid和网页那边的不一样

  1. 微信
    网页应用、移动应用分属不同的app_id,所以不能用openid(不一致),没啥好说的,按照官方文档,根据 unionid 来

    解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题_第1张图片

    然后存量数据根据 批量获取用户基本信息 接口跑脚本来获取到unionid

  2. QQ
    这个就有点蛋疼了,官方文档没有说明,百度良久,最后找到客服QQ(800013811)咨询后,说QQ也有unionid,只不过需要发送邮件,申请将同一个开发者号码下的应用打通后才会有unionid字段

    解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题_第2张图片

    申请表格下载地址:http://wiki.connect.qq.com/%E5%BC%80%E5%8F%91%E8%80%85%E5%8F%8D%E9%A6%88

    申请成功后会给你邮件回复,后对接口参数做出修改
    解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题_第3张图片

    到了这里,网页应用、移动应用已经可以实现用户共享了,但是存量数据怎么解决呢?官方还是没有文档。。。,接着问客服:

    解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题_第4张图片

    至此,接口获取后,QQ存量数据就可以解决了。

3.微博
微博就好弄了,同一账号下的应用返回的id是一致的,不需要做更改

4.支付宝
支付宝也好弄,同一账号下的应用返回的user_id是一直的,不需要做更改

一直以来,都觉得微信的文档写得稀烂,经过过这次QQ事件之后,我才发现,原来,微信的文档,真不错o(╥﹏╥)o

你可能感兴趣的:(PHP,微信,qq,登录)