Yii2实现手机二维码扫一扫登入

一 建数据表 scancode 

 

 randnumber字段存储的是一个随机码,可以用uuid 

token是一个提取用户信息的字段,说白了就是user表的唯一键,如果不担心用户id外泄,用user_id也行吧。。。 

表建好了,剩下的就是代码啦,不过不着急,先讲一下实现的原理 

服务器产生一个随机码,用随机码生成二维码,每次刷新页面的时候生成一次,不过最好用session存起来,不然每刷新一次就生成一条数据,把app客户端传来的randnumber和token存进表里,之后就是js轮询这个表的数据,当检测到表中的randnumber跟session中的randnumber一致,并且token的值是存在的,就跳过密码验证,直接登入PC端。

代码呈上: 

 

首先要过的一关就是yii自带的验证,[‘?’]表示任意用户,[‘@’]表示登入的用户,啥都没写的默认是谁都可以访问的。 
这个一定要认真填写,不然后面各种访问限制会弄得你头大。

 

这一段看图就知道啦 

 

 

 

说到yii的密码验证,就得到 

 

 

 

跳过密码验证 

 

 

还有一个控制器就是获取app传来的参数 

 

 

 

控制器就这么多了,剩下的就是views试图层 

 

 

 

 

 

posted on 2019-11-13 11:32  追风的浪子  阅读(341)  评论(0编辑  收藏  举报

导航