二维码登录的实现原理

本文介绍了二维码登录的实现原理,包括登录流程、关键点和内部实现。在登录过程中,手机、电脑和服务器三者协同,确保安全性和用户体验。手机端扫码识别URL,服务器记录设备身份信息,通过状态轮询和确认操作完成登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

登陆流程

手机登录&打开网页二维码登录页(二维码有时效5-10分钟左右,超时会过期)----->扫码之后手机端跳转到一个页面,这个页面至少有两个按钮:确认登录/取消登录----->点击确认登录--------手机端显示登陆成功&电脑网页显示登录成功并且跳转,以及显示登录人信息

二维码登录的关键点

用户A每次扫码登录只能在扫码的那台电脑上显示用户A的登陆信息,而不能显示其他用户,没有扫过的B电脑不能显示登录

扫码登录手机内部实现原理

扫码识别出url字符串(人工智能识别二维码位置,去掉背景,提出二维码图片,进行二维码识别)-->中间可以添加很多操作-->进行跳转

详细实现过程

1.整个二维码登录的过程需要三个角色,手机端,电脑端,服务器端,每台手机和电脑都有属于自己独一无二的身份信息,这里为了方便区分我给手机端设置的身份信息是字母,给电脑端设置的是数字


2.用户先通过手机A进行账号注册,注册成功后,服务器端就会记录该手机的身份信息和账号信息(账号,密码,姓名等)


3.当电脑A打开扫码登录的窗口时,电脑A向服务器发送一个请求二维码的请求和自己的身份信息,服务器对这台电脑的身份信息进行存储,并返回一个由此台电脑身份信息和登录后跳转的下一个网页(通常是确认登录)组合成的二维码信息


4.当电脑A接收到二维码信息后会根据某种策略将其显示成二维码(这里先不详细描述是怎么形成二维码的,只讲登录过程),服务端此时将关于电脑A的登录信息设置为未登录,电脑A会设置一个js定时器带着电脑A的身份信息轮询访问服务器关于电脑A的登录状态


5.手机A此时扫描电脑A上显示的二维码得到了关于这个二维码的信息,根据里面的url+电脑A的身份信息访问服务器,服务器分析url后返回给手机端下一个跳转的页面(通常是确认登录),同时找到电脑A的信息对应的登录状态将其修改为正在登录,电脑A的js定时器根据服务器端存储的信息状态的改变,将电脑A上的二维码页面修改为正在登录页面,拒绝让其他手机扫描二维码


6.手机端点击确认登录,将电脑A的身份信息存储至服务器关于电脑A的存储区域,同时修改电脑A的状态信息为已登录,电脑A的js定时器轮询查看电脑A的登录信息改变后查询出当前登录电脑A的手机A的身份信息并根据该信息从服务器的数据库中查询出手机A的账号信息


7.服务器将手机A的账号信息和下一个跳转的网页(这时已经是网站内部的信息页)发送到电脑A上,电脑A显示跳转到信息页,同时存储登录人的个人信息到cookie中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值