二维码由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. [CF1854E] Game Bundles

    题目描述 Rishi is developing games in the 2D metaverse and wants to offer game bundles to his customers. ...

  2. [AGC030D] Inversion Sum

    Problem Statement You are given an integer sequence of length $N$: $A_1,A_2,...,A_N$. Let us perform ...

  3. 用CloudDrive将阿里云、天翼云、115挂载为电脑本地硬盘

    用CloudDrive将阿里云.天翼云.115挂载为电脑本地硬盘 写在前面 它可以把各大在线网盘,直接变成电脑本地硬盘,俗称"网盘挂载".这在一定程度上,确实能缓解存储紧张问题,瞬 ...

  4. 性能集成监控系统exporter+Prometheus+Grafana

    Prometheus 是一个时序数据库,存数据 exporter是收集器,来收集被监控的数据,想要监控不同的内容,就使用不同的exporter,这个exporter应该放在被测服务器上,再把expor ...

  5. ElasticSearch之Get index API

    获取指定索引的基本信息. 命令样例如下: curl -X GET "https://localhost:9200/testindex_001?pretty" --cacert $E ...

  6. ElasticSearch之cat templates API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/templates?v=true&pretty" --cacert $ES ...

  7. Python——第四章:作用域

    作用域: 变量的访问权限 全局变量 -> 全局作用域 局部变量 -> 局部作用域(比如在函数内定义的变量,只能在函数内调用) a = 10 # 全局变量 -> 全局作用域 print ...

  8. HTTP 代理服务器的设计与实现(C++)

    实验内容 设计并实现一个基本 HTTP 代理服务器.要求在指定端口(例如 8080)接收来自客户的 HTTP 请求并且根据其中的 URL 地址访问该地址 所指向的 HTTP 服务器(原服务器),接收 ...

  9. SpringBoot结合ajax实现登录功能

    1:ajax是什么(https://www.w3school.com.cn/ajax/ajax_intro.asp)? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJA ...

  10. 教你几个部署多个nginx-ingress的注意事项

    本文分享自华为云社区<nginx-ingress工作原理以及多nginx-ingress部署注意事项>,作者: 可以交个朋友. 一.nginx-ingress工作原理 nginx-ingr ...