二维码由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. ThreadLocal底层源码解析

    ThreadLocal底层源码解析 ThreadLocal:顾名思义的意思是本地线程或者局部线程的意思,其真正含义是希望多个线程之间拥有自己的局部变量,多个线程间拥有自己的私人变量,在多线程间不被共享 ...

  2. 复习:Java基础-泛型方法

    泛型 大家都很熟悉了 泛型方法呢 可能很多小伙伴都有混淆,今天来稍微复习一下 泛型方法(普通方法) public class Test<T> { public T f(T c) { //注 ...

  3. CentOS连接网络设置

    https://blog.csdn.net/tsundere_x/article/details/104263100  用这个 VMware提供了三种将虚拟网卡和物理网卡捆绑起来的方式,即桥接(Bri ...

  4. Vulntarget-b-wp

    Vulntarget-b 环境配置 centos7 用户 密码 root root vulntarget root 宝塔Linux面板http://192.168.0.104:8888/045b276 ...

  5. Python——第三章:内置函数(上)

    Python中的内置函数 基础数据类型相关(38) 和数字相关(14) 数字类型(4) bool--布尔型 int--整型 float--浮点型 complex--虚数 机制转换(3) bin--二进 ...

  6. 某物流客户Elasticsearch集群性能优化案例

    客户背景 客户使用ES来进行数据存储.快速查询业务订单记录,但是经常会出现业务高峰期ES集群的cpu负载.内存使用均较高,查询延迟大,导致前端业务访问出现大量超时的情况,极大影响其客户使用体验. 部分 ...

  7. WPF通用权限平台系统,正在研发中(基本于:VS2019 WPF+Devexpress21.2)

    WPF通用权限平台系统,正在研发中(基本于:VS2019 WPF+Devexpress21.2) 开发工具:VS2019 C# WPF 第三方工具:Devexpress21.2 数据库:SQLServ ...

  8. st_geometry、st_transform配置及问题汇总

    1.文件配置修改 路径上一定要使用双斜杠 2.使用sde账号登录,执行以下SQL,路径按照实际环境填写. select * from user_libraries; create or replace ...

  9. Mybatis源码1JDBC->mybatis主要流程->mybatis Excutor简介

    === 一丶mybatis概述 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.My ...

  10. LeetCode 数、二叉树、二叉搜索树篇(94、144、145)

    94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? / ...