欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - web扫码登录怎么实现,求个思路

程序员文章站 2022-04-11 12:50:16
...
最近在弄一个web即时通讯,里面有一个扫码登录功能。以前没做过,求有方面的高手谈谈。
如二维码怎么来的,web端如果监听手机扫码成功,并服务端发送过数据

回复内容:

最近在弄一个web即时通讯,里面有一个扫码登录功能。以前没做过,求有方面的高手谈谈。
如二维码怎么来的,web端如果监听手机扫码成功,并服务端发送过数据

步骤       WEB平台                手机
第1步      生成二维码
第2步     (ajax监控后台)          扫码
第3步     (ajax监控后台)          确定(后台异步通知WEB平台)
第4步      AJAX发现状态改变,登陆成功

ajax监控后台的流程:生成二维码后,

setTimeout(function(){
    //AJAX请求,检测状态
},5000);


楼上说的很正确。我补充一下吧。
以微信为例
解决两个问题,电脑从服务器获取是否有人扫了我这台电脑,并且授权登录。
然后app,要解决的是扫了之后,知道扫的人是谁,把这个人信息告诉给服务器。
对象网站 手机打开微信

流程
web生成链接,链接制成二维码,一般用本地的cookies或者sessionid作为唯一表示的参数。

app扫完之后,其实是进行授权操作,抓取用户信息,把用户信息跟请求中包含的cookies或者sessionid存到库里面
web每隔几秒ajax请求后台,查询当前cookies或者sessionid是否有对应的登录信息,有则进行登录操作。

1.前端调用后台生成二维码的API,获取到二维码图片和所包含的信息(通常是一个唯一ID)
2.前端检测(通过轮询或者websock,自己选择)是否有手机扫码,通过调用后台接口API,参数为上面的唯一ID
3.手机扫描二维码登陆,手机端可以获取到二维码里的信息ID,带上当前登陆用户ID和二维码里的ID调用后台接口。
后台存储这个二维码的数据,加上登录用户信息,当前台调用API时,给返回登录成功。
4.前端获取到登录成功,进行跳转