websocket扫码登录
二维码由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扫码登录的更多相关文章
- 初涉扫码登录:edusoho实现客户端扫码登录(简版)
一.项目简介及需求 edusoho是一套商业版的在线教育平台,项目本身基于symfony2框架开发,现在有一款自己的APP,要求在不多修改edusoho自身代码的基础上,实现客户端对PC端扫码登录.不 ...
- Channels实现扫码登录
参考了下别人说的原理,根据自己的逻辑实现,没有完全按照别人的原理来,所以不一定适用于大家,仅供参考吧!!! 流程如下: 1. web发起websocket链接,后端接受链接后立马发送第一次消息,为全局 ...
- 手机端可以和PC端同时在线-java QRCode 实现网站扫码登录(即支持同帐号多设备同时登录)
微信扫码测试地址:: http://sms.reyo.cn 用户名:aa 密码:123456 扫码登录实现方式很多,比如ajax轮询,http长连接(comet...),websocket,event ...
- Swoole 的微信扫码登录
微信应用的便捷,扫码登录方式越来越被现在的应用所使用.它因为不用去记住密码,只要有微信号即可方便快捷登录.微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实 ...
- 基于 Swoole 的微信扫码登录
随着微信的普及,扫码登录方式越来越被现在的应用所使用.它因为不用去记住密码,只要有微信号即可方便快捷登录.微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实 ...
- 二维码扫码登录原理及简单demo
扫码登录原理转载自: https://www.cnblogs.com/liyasong/p/saoma.html 需求介绍 首先,介绍下什么是扫码登录.现在,大部分同学手机上都装有qq和淘宝,天猫等这 ...
- Java 语言实现简易版扫码登录
基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...
- 【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群
目录 项目效果 安装 go-cqhttp 虚拟文件 启动 ChatGPT 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公 ...
- Web应用多账号系统设计及微信扫码登录实现
Web应用多账号系统设计及微信扫码登录实现 1 前言概述 公司对功能测试,性能测试,安全测试等等都做了比较好的自动化后,急需要一个MIS系统来统一管理这些结果及报表. 此MIS系统特点如下: 仅内 ...
- C#开发微信门户及应用(45)--微信扫码登录
在前面随笔<C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理>介绍了基于微信开放平台接口实现的微信扫码直接登录的过程.本篇介绍对扫码登录的一些改进和处理,以便更方便应用在实 ...
随机推荐
- 将mysql的输出文本写回mysql
1 准备工作 1.1 环境准备 操作系统:Microsoft Windows 10 专业工作站版 软件版本:Python 3.9.6 第三方包: pip install pandas2.1.0 pip ...
- 企业u盘禁止访问如何解锁
如果您遇到了U盘禁止访问的问题,可能是由于系统设置.安全策略或第三方工具导致的.以下是一些可能的解锁方法,具体的操作可能因具体情况而异: 管理员权限: 确保您有足够的管理员权限来解锁U盘.有时,系统管 ...
- Android联系人增删改查
1:申请权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-p ...
- Centos8 硬盘挂载
查看硬盘分区状况 fdisk -l 可以看到数据盘 /dev/vdb 大小为 10Gb,目前还没有进行分区. 对 /dev/vdb 资源盘进行分区 fdisk /dev/vdb //根据提示输入信息: ...
- const和C指针
转载:https://mp.weixin.qq.com/s?__biz=Mzk0NDYzNTI1Ng==&mid=2247483733&idx=1&sn=9af9bc64a0b ...
- dart的语法
dart的语法 main方法 main(){ print("有返回值"); } void main() { print("没有返回值"); } 字符串的定义的方 ...
- 实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组
大量复杂.乱序的图片依次标注效率极低,如果一次可以标注一大片的图片将极大地提升标注效率. 自动分组识别并提取图像特征,通过ModelArts先进的聚类算法可以将所有图片分组:将特征相似的图片归为一类, ...
- 云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心
摘要:容器以其独特的技术优势,已经成为业界主流的AI计算框架(如Tensorflow.Caffe)的核心引擎,为了进一步解决企业在AI计算性能与成本上面临的问题,华为云推出了AI容器产品. 容器以其独 ...
- 统一元数据,数据湖Catalog让大数据存算分离不再是问题
摘要:为了解决现阶段大数据存算分离痛点问题,华为云大数据推出重量级数据湖Catalog服务. 1 背景 随着5G.IoT等技术的发展,企业积累了越来越多的数据,需要激发更多的数据价值变现.传统大数据平 ...
- 鸿蒙轻内核M核源码分析:中断Hwi
摘要:本文带领大家一起剖析了鸿蒙轻内核的中断模块的源代码,掌握中断相关的概念,中断初始化操作,中断创建.删除,开关中断操作等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列五 中断Hwi&g ...