Maison >développement back-end >tutoriel php >javascript - web扫码登录怎么实现,求个思路

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

WBOY
WBOYoriginal
2016-09-23 11:31:041657parcourir

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

回复内容:

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

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

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

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


</code>

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn