通过手持端控制pc端登陆问题

支付宝对于网银来说,最方便的莫过于免去了一大堆乱七八糟的证书的安装过程,但是支付宝本身也是有证书的,当然pc端的支付宝页面也可以不通过证书登录,而是通过手机二维码扫描来判断登陆。

那么问题来了,如果我们自己的项目要采取类似的东西,该如何做呢?

pc页面和支付宝客户端是2个不同的客户端,所以支付宝客户端扫描并认证后,必须生成用户登录标识,然后通知pc页面已经登陆成功,执行跳转,跳转后的页面会根据支付宝客户端生成的表示,去读取用户信息。

现在我们自己的网站没有客户端,那我们就用微信好了,为了简便,我们就不扫描二维码了,通过订阅号窗口发送一个四位的token来模拟扫描过程。pc端和服务器的通讯必须持续等待,所以要么是ajax轮询,要么是socket(comet这类直接被我pass了)。我们采取websocket。php的模型是请求-释放型的,虽然有swoole,但是,我决定还是采用node.js的socket.io。