javascript - web扫码登录怎么实现,求个思路
程序员文章站
2022-04-11 12:50:16
...
最近在弄一个web即时通讯,里面有一个扫码登录功能。以前没做过,求有方面的高手谈谈。
如二维码怎么来的,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.前端获取到登录成功,进行跳转