QQ互联登录,出现qzuser用户的原因及解决办法

JSON 2017-10-10 17:55:07 10864

据我的数据库观察从9月30日开始到今天10月10日,才解决大部分问题。现在明显减少了qzuser 用户 。

在  QQ互联  官网API描述中,出现qzuser 的现象原因如下:

1.可能是所使用的API没有激活,可以到管理中心的控制台查看已激活API列表中是否有该API。

2.也可能是用户使用qq登录时跳过了授权步骤。

qzuser问题定位

但这次确实不是这些个问题,看网上对这个说明较少,都是提问的。所以把  QQ互联  登录,出现qzuser 用户的原因及解决办法说明一下。于其说是解决,其实也算是补救。

实际我已经确认,这是  QQ互联  的BUG。我也测试了,斗鱼、PandaTV 等等,也会出现用户名称为qzuser 。下面是我和  QQ互联  的客服对话记录。

针对这个问题,我下面说说解决办法,在出现此BUG 的情况下。我们有几种解决(补救)办法。

qzuser解决办法

1. 如果自己系统需要绑定自己的账户,而QQ 互联只是一个快捷登录的入口,那么这个比较简单,直接补全信息即可。

2. 如果完全依赖  QQ互联  (没有自己的帐号密码),我现在就是这样。那么会出现用户名都为qzuser ,并且图片都为一个重复的QQ空间Default图片,这种情况下,需要当用户再一次登录的时候判断用户的用户名是否为qzuser ,如果是就强行再让用户登录一次,再次获取用户的头像昵称等。

3. 直接判断用户名,如果用户名为qzuser ,直接提示错误信息,斗鱼和PandaTV 就是这么做的。

我改动了一些逻辑,在登录的时候,会判断一下,然后去更新,因为客服已经回答说明OPENID 不变,示意代码如下:

/**
 * 通过openid查询当前用户是否在本站登录过
 */
IUserThird entity = userThirdService.findByOpendId(openId);
SOUser user = null;
//解决腾讯BUG qzuser 用户名问题。
if(null != entity){
    //查出用户,直接更新信息
    user = userService.selectByPrimaryKey(entity.getUserId());
	//判断是不是qzuser用户。
    if("qzuser".equalsIgnoreCase(user.getNickname())){
		//重新获取用户信息,并且更新名字和头像
        SOUser infoUser = (SOUser) QQManager.getLoginInfo(accessToken, openId).get("user");
        user.setNickname(infoUser.getNickname());
        user.setPortrait(infoUser.getPortrait());
		//update
        userService.updateByPrimaryKeySelective(user);
    }
	//登录
    TokenManager.login(user);
    
}

最好还是加一个处理,就当是一个容错处理。

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/257.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
dns污染怎么解决?为什么会出现这种情况?
MyEclipes 出现 Could not create the view: An unexpected exception was thrown.完美解决
N多系统单点登录,实现、解决方案。四种解决方案
Shiro教程(十一)Shiro 控制并发登录人数限制实现,登录实现
Shiro 通过配置Cookie 解决多个二级域名的单点登录问题。
火狐(Firefox )浏览器提示。此链接是不受信任的,站长和用户解决方案。SSL申请
JSON 对象net.sf.ezmorph.bean.MorphDynaBean@3d92f1 解决办法
PHP用户定义函数详细讲解
MySQL数据库存储过程字符集问题,乱码的解决办法
MySQL数据库为用户设置密码,Mysql修改密码。Mysql忘记密码解决方法
最新文章
Linux I/O重定向 1543
Ruby 循环 - while、for、until、break、redo 和 retry 642
Node.js:全局对象 459
如何使用终端检查Linux上的内存使用情况 502
JavaScript对象详细剖析 249
Python print() 函数 389
PHP if/else/elseif 语句 360
HTML5 Canvas弧线教程 375
Java赋值运算符 417
XML内部实体和外部实体 403
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 686534
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 675040
免费天气API,天气JSON API,不限次数获取十五天的天气预报 610698
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 609959
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 555339
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 510001
Elasticsearch教程(四) elasticsearch head 插件安装和使用 481190
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 268436
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244703
Elasticsearch教程(一),全程直播(小白级别) 227189
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...