Rumah > rangka kerja php > Workerman > 基于 Workerman实现Web扫描登录的方法

基于 Workerman实现Web扫描登录的方法

藏色散人
Lepaskan: 2020-03-13 14:22:49
ke hadapan
3875 orang telah melayarinya

Web 扫码登录实现

基于 Workerman做了一个扫码登录示例,给有需要的朋友参考一下。发现问题,欢迎指正。

实现流程图

6d4a3e60cd928dae10c24a2ca854eb3.png

运行流程

①:用户 A 访问微信网页版,微信服务器为这个会话生成一个全局唯一的 ID,上面的 URL 中 obsbQ-Dzag== 就是这个 ID,此时系统并不知道访问者是谁。

②:用户A打开自己的手机微信并扫描这个二维码,并提示用户是否确认登录。

③:手机上的微信是登录状态,用户点击确认登录后,手机上的微信客户端将微信账号和这个扫描得到的 ID 一起提交到服务器

④:服务器将这个 ID 和用户 A 的微信号绑定在一起,并通知网页版微信,这个 ID 对应的微信号为用户 A,网页版微信加载用户 A 的微信信息,至此,扫码登录全部流程完成。

扫码登录看起来神奇,主要是因为微信 APP 扫自家的码会做一些普通二维码软件不会做的额外的操作,那就是将当前已登录的微信和扫出来的 ID 提交到微信服务器,类似的应用还有扫码支付、扫码加公众号等功能。

以上内容来自互联网。

说明

基于workerman/gateway 框架编写. web服务也可以使用 apache, nginx来代替。扫码工具我用的手机扫码来代替的,也可直接获取到一个url,放到另一个浏览器窗口模拟扫描二维码的过程。生产环境肯定是用app扫描的。

获取示例源码

https://github.com/wanglelecc/workerman-qrcode-login-for-win
Salin selepas log masuk

运行示例(Win)

在windows 下双击 login_start_for_win.bat 即可

放1张预览图:

fe5d0d3558aa61ff3878bba9b1847a2.png

注:这只是一个示例,给大家提供一个思路。真正的使用,还有很多需要改进的地方。

Atas ialah kandungan terperinci 基于 Workerman实现Web扫描登录的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan