二维码由web端生成,解析结果

https://www.qycloud.com.cn/home/welcome?{"type":"login","data":{"uuid":"msdvgn30rs3w","public_key":"w3ce4"}}
https://www.qycloud.com.cn/home/welcome?{"type":"login","data":{"uuid":"76u3tgxy9in2","public_key":"ww00ev"}}

时序图

API调用流

1. 扫码(移动端发起) GET /api2/user/scanlogin/changestatus

2. 确认登录(移动端发起) GET /api2/user/scanlogin

3. 登录(web端发起) POST /api2/user/scanlogin/oauthLogin

API调用详细日志

{
"5de61d4619327434d99dffda": {
"_id": {
"$id": "5de61d4619327434d99dffda"
},
"req_time": 1575361862,
"api_path": "/api2/user/scanlogin/changestatus",
"req_method": "GET",
"req_uri": "/api2/user/scanlogin/changestatus?uuid=j9ahyf_fxec5to0p8id",
"user_id": "363827171@qq.com",
"ent_id": "nanjinganyuankeji",
"resp_status": 1351,
"resp_msg": "验证成功",
"req_id": "0ed58705-0cf0-4575-980d-4d3e871f5948",
"client_ip": "49.94.158.59",
"client_type": "ios",
"ua": "APP|iOS|QYCloud|8.2.0|BBBE8B79-C6D6-4534-A926-53D036F71E4D|iPhone9,1|iOS|11.4.1",
"scheme": "http",
"host": "www.qycloud.com.cn",
"server_ip": "10.45.54.245",
"resp_time": 1575361862,
"consume_time": 38,
"content_size": 65
},
"5de61d4e19327434d99e0063": {
"_id": {
"$id": "5de61d4e19327434d99e0063"
},
"req_time": 1575361870,
"api_path": "/api2/user/scanlogin",
"req_method": "GET",
"req_uri": "/api2/user/scanlogin?uuid=j9ahyf_fxec5to0p8id&user_id=363827171@qq.com",
"user_id": "363827171@qq.com",
"ent_id": "nanjinganyuankeji",
"resp_status": 1352,
"resp_msg": "登录成功!",
"req_id": "98ef5303-8e37-4252-85e8-439a0d66551d",
"client_ip": "49.94.158.59",
"client_type": "ios",
"ua": "APP|iOS|QYCloud|8.2.0|BBBE8B79-C6D6-4534-A926-53D036F71E4D|iPhone9,1|iOS|11.4.1",
"scheme": "http",
"host": "www.qycloud.com.cn",
"server_ip": "10.45.54.245",
"resp_time": 1575361870,
"consume_time": 38,
"content_size": 59
},
"5de61d4e19327434d99e0068": {
"_id": {
"$id": "5de61d4e19327434d99e0068"
},
"req_time": 1575361870,
"api_path": "/api2/user/scanlogin/oauthLogin",
"req_method": "POST",
"req_uri": "/api2/user/scanlogin/oauthLogin",
"user_id": "363827171@qq.com",
"ent_id": "YunPingTaiYanFaBu",
"resp_status": 1200,
"resp_msg": "登录成功!",
"req_id": "f4fde9d1-1794-4d56-9428-228e51cd800e",
"client_ip": "221.226.186.58",
"client_type": "web",
"ua": "Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0",
"scheme": "http",
"host": "www.qycloud.com.cn",
"server_ip": "10.45.54.245",
"resp_time": 1575361870,
"consume_time": 127,
"content_size": 54
}
}

WebSocket抓包

http://jira.qpaas.com:8766/pages/viewpage.action?pageId=28443234

websocket扫码登录的更多相关文章

  1. 初涉扫码登录:edusoho实现客户端扫码登录(简版)

    一.项目简介及需求 edusoho是一套商业版的在线教育平台,项目本身基于symfony2框架开发,现在有一款自己的APP,要求在不多修改edusoho自身代码的基础上,实现客户端对PC端扫码登录.不 ...

  2. Channels实现扫码登录

    参考了下别人说的原理,根据自己的逻辑实现,没有完全按照别人的原理来,所以不一定适用于大家,仅供参考吧!!! 流程如下: 1. web发起websocket链接,后端接受链接后立马发送第一次消息,为全局 ...

  3. 手机端可以和PC端同时在线-java QRCode 实现网站扫码登录(即支持同帐号多设备同时登录)

    微信扫码测试地址:: http://sms.reyo.cn 用户名:aa 密码:123456 扫码登录实现方式很多,比如ajax轮询,http长连接(comet...),websocket,event ...

  4. Swoole 的微信扫码登录

    微信应用的便捷,扫码登录方式越来越被现在的应用所使用.它因为不用去记住密码,只要有微信号即可方便快捷登录.微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实 ...

  5. 基于 Swoole 的微信扫码登录

    随着微信的普及,扫码登录方式越来越被现在的应用所使用.它因为不用去记住密码,只要有微信号即可方便快捷登录.微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实 ...

  6. 二维码扫码登录原理及简单demo

    扫码登录原理转载自: https://www.cnblogs.com/liyasong/p/saoma.html 需求介绍 首先,介绍下什么是扫码登录.现在,大部分同学手机上都装有qq和淘宝,天猫等这 ...

  7. Java 语言实现简易版扫码登录

    基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...

  8. 【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群

    目录 项目效果 安装 go-cqhttp 虚拟文件 启动 ChatGPT 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公 ...

  9. Web应用多账号系统设计及微信扫码登录实现

    Web应用多账号系统设计及微信扫码登录实现 1   前言概述 公司对功能测试,性能测试,安全测试等等都做了比较好的自动化后,急需要一个MIS系统来统一管理这些结果及报表. 此MIS系统特点如下: 仅内 ...

  10. C#开发微信门户及应用(45)--微信扫码登录

    在前面随笔<C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理>介绍了基于微信开放平台接口实现的微信扫码直接登录的过程.本篇介绍对扫码登录的一些改进和处理,以便更方便应用在实 ...

随机推荐

  1. WinForm窗体间传值的方法

    窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 1.公共静态变量:2.使用共有属性:3.使用委托与事件:4.通过构造函数把主窗体传递到从窗体中: 一.通过静态变量特点: ...

  2. 【开源项目推荐】-支持GPT的智能数据库客户端与报表工具——Chat2DB

    2023年是人工智能爆火的一年,ChatGPT为首的一系列的大模型的出现,让生成式人工智能彻底火了一把.但有人会说,GPT对于我们数据开发来说并没有什么作用啊? 今天为大家推荐的开源项目,就是GPT在 ...

  3. Redis工具类及Redis序列化

    导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  4. 一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器

    前言 经常看到有小伙伴在技术群里问有没有什么好用且快速的开发框架推荐的,今天就给大家分享一款基于MIT License协议开源.免费的.NET Core快速开发框架.支持多种前端UI.内置代码生成器. ...

  5. c#5.0/6.0/7.0

    发现很多.net 程序员水平一直停留在c#3.0阶段,现在来整理下c#5.0/6.0/7.0新语法新特性. 人生需要不断充电,不断去get新技能而不是固步自封,对于我自己而言,虽不盲目追求新技术,但每 ...

  6. Redis 事务管理

    Redis 提供了五个指令用于处理事务:MULTI.EXEC.DISCARD.WATCH.UNWATCH,这五个命令是 Redis 进行事务处理的基础. 这些指令允许一组命令在一个步骤中执行,其中有两 ...

  7. CodeForces 1307D BFS最短路 思维

    原题链接 题意 给出一个简单无向图,边权全部为1,同时给我们k个特殊点,要求我们从这k个特殊点中选出两个来连一条边权为1的边.同时,我们的决策要保证1~n的最短路程最大,求最终这个最短路长度. 思路 ...

  8. GDAL数据集写入空间坐标参考

    目录 1. 概述 2. 栅格数据 3. 矢量数据 1. 概述 可以通过GDAL给地理数据写入空间参考信息,不过要注意的是GDAL给矢量数据和栅格数据写入空间坐标参考的接口不太一样. 2. 栅格数据 实 ...

  9. 质效提升 | 聊聊QA与业务测试

    上面一篇文章<质效提升 | QA不做业务需求测试,你怎么看>主要讨论的是QA 和业务需求测试相关的问题,文章发出后收到了很多小伙伴的反馈,这里把很多有意义的反馈放在下面,希望对你有用. 约 ...

  10. Java PDF书签——添加、编辑、删除、读取书签

    概述 本文介绍通过Java程序来操作PDF书签,根据对书签的不同操作要求,分以下情况来介绍: 1. 添加书签(包括添加一级书签.多级子书签) 2. 编辑书签(包括重置书签标题.书签样式等) 3. 删除 ...