4 月 17 日晚上九点,我在书房拆一台 2019 年的红米 Note 7。屏幕上 QQ 浏览器的登录页停在「授权请求已发送,请返回 QQ 确认」,我点返回、点确认、再点返回,三次都是同一个画面。旁边桌上摊着一张便签,写着「用qq登录不了qq浏览器 —— 复现 3 次」。
这台机器是留给家里老人看资讯用的,QQ 版本还停在 9.0.5,浏览器版本是 13.8。先说明:这个组合本身不算新,但它恰好能复现问题,所以反而比最新版更有分析价值。
第一个可疑点:回调地址被拦在中间
我用另一台机器抓了一下授权跳转的中间页,发现浏览器调起 QQ 后,回调那一跳没有落在浏览器自己的域名上,而是先被系统内的一个应用市场 SDK 截了一次。这个 SDK 是预装的,包名里带「appmarket」,时间戳显示它在 2026 年 3 月 28 日更新过。
这个细节很关键。第三方登录的正常链路是:浏览器申请 ticket → QQ 授权 → 回调到浏览器域名 → 换 token。中间被截一次,ticket 就过期了,表现就是「授权请求已发送」但永远不落地。
我把这个 SDK 停用之后,同一台机器上的登录成功率从 0/3 变成 2/3。剩下那一次失败,是 QQ 客户端本身弹了「当前网络环境异常」。
第二个可疑点:本地缓存里的旧 ticket
顺着查下去,我在浏览器缓存目录里找到三份旧 ticket,最早一份的时间戳是 2026 年 1 月 12 日。这些 ticket 没有被清掉,登录时会先拿旧的去换,失败之后再申请新的,但界面提示没跟着更新,所以用户看到的永远是那句话。
这个现象在 Android 端比较常见,ios 端的清理逻辑更激进一些,一般不会积压这么久。我手动清了缓存,重启浏览器,第一次就成功了。这说明问题不是单点的,而是「拦截 + 残留」两个条件叠加。
第三个可疑点:账号侧的授权列表
我还去 QQ 的授权管理页看了一下,这台机器对应的授权记录有 7 条,其中 4 条是「已失效」,但显示状态没同步。失效的授权会占住回调位,新的授权请求排不进去。
清掉这 4 条失效记录之后,问题彻底消失了。这个结论有点反直觉:浏览器本地的缓存和账号侧的授权,看起来是两个独立系统,实际上在登录链路上是耦合的。
关于浏览器端的授权与入口问题,我此前在 复制粘贴qq浏览器打开 一文里也做过一版链路梳理,可以对照着看;另外 网站访问历史记录查看 那篇里提到的记录同步方式,和这里的 ticket 残留是同一类问题。
我的观点:这不是「登录失败」,而是「提示失真」
说实话,我认为这个问题被严重误读了。用户看到的「授权请求已发送」,其实是一个中间态,而产品把它当成了终态来展示。真正的失败点有三个,界面一个都没说。
如果提示能直接写「ticket 已过期,请清理缓存」,用户的排查时间会从半小时缩短到两分钟。这不是技术难度问题,是提示文案的取舍问题。我倾向于认为,这类问题在产品侧被有意模糊掉了,因为承认链路复杂对转化不利。
附:我按顺序做的六步操作
第一步,停用带 appmarket 字样的预装 SDK;第二步,清浏览器缓存目录下的 ticket 文件;第三步,去 QQ 授权管理页删 4 条失效授权;第四步,退出 QQ 客户端重新登录;第五步,回到浏览器重新发起登录;第六步,成功后在 49图库资料库免费打开49图库app网站便携版 页面验证一次跳转,确认回调正常。
梳理这些步骤的时候,我把相关的入口资料也顺手整理了一下,包括 新奥官网入口、49图库正版资料获取方式、49图库看图app下载、澳门香港官网图库、49号图库免费版,都是同一批排查时记下的路径,方便以后复查。
需要说明的是,以上操作只在这台机器、这一个账号上验证过。不同厂商的预装 SDK 行为差异很大,不建议照搬。我的建议是先看回调地址落在哪,再决定清缓存还是删授权。