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

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

据我的数据库观察从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 解决办法
MySQL数据库存储过程字符集问题,乱码的解决办法
MySQL数据库为用户设置密码,Mysql修改密码。Mysql忘记密码解决方法
Jackson 美化输JSON,优雅的输JSON数据,格式化输JSON数据... ...
最新文章
PHP变量剖析 11
SQL全外连接剖析 119
SQL自然连接剖析 147
springboot启动原理 245
SQL右连接【RIGHT JOIN】详解及图解 450
SQL左链接【LEFT JOIN】详解及图解 357
SQL非等值连接剖析 262
SQL等链接剖析 291
SQL内连接详解及图解 385
python之numpy常用的100种数值相关方法及代码示例 231
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 679241
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 674561
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 599031
免费天气API,天气JSON API,不限次数获取十五天的天气预报 565278
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 551715
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 509186
Elasticsearch教程(四) elasticsearch head 插件安装和使用 479645
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 262820
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244092
Elasticsearch教程(一),全程直播(小白级别) 225127
支付扫码

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

查看我的收藏

正在加载... ...