分享一下二维码登陆的思路及原理
这几天在研究怎样实现app与网站系统实现二维码登陆,在网上找了很久也没看见什么有用的介绍,所以就自己动手研究了
参照QQ登陆的运行模式 我想到一个简单的构思
首先app的登陆、注册都需要返回网站用户的个人信息 我在返回值中把账户、密码进行加密 token 返回给客户端 储存起来,
接下来说说网页端的构思
后台的构思是 创建mysql xx_qr表 添加 字段 ID TOKEN time tid
id不用说 这个是自动添加的
token 是客户端上传的
time 是当前时间加时限 既 time()+60*2
tid 默认为0 0为客户端传值 1为客户端已传值
session一个字段 id
用这个id去匹配mysql xx_qr 是否存在
如果不存在 就给mysql添加一条数据 只需要把time 填充 其它默认
如果存在 就去判断是否超时
超时就需要写入一条新数据 未超时 则判断 tid 是否为1
如果为1 就解密token进行登陆
html 用循环 每1秒 获取一次数据 jquery ajax 来实现
这里会有人问 登陆于不登录 xx_qr这个表的数据会很多 超时就没用了 怎么办
解决办法 在php 加入
delete from xx_qr where time<time();
这个会把超时的数据全部删除
参照QQ登陆的运行模式 我想到一个简单的构思
首先app的登陆、注册都需要返回网站用户的个人信息 我在返回值中把账户、密码进行加密 token 返回给客户端 储存起来,
接下来说说网页端的构思
后台的构思是 创建mysql xx_qr表 添加 字段 ID TOKEN time tid
id不用说 这个是自动添加的
token 是客户端上传的
time 是当前时间加时限 既 time()+60*2
tid 默认为0 0为客户端传值 1为客户端已传值
session一个字段 id
用这个id去匹配mysql xx_qr 是否存在
如果不存在 就给mysql添加一条数据 只需要把time 填充 其它默认
如果存在 就去判断是否超时
超时就需要写入一条新数据 未超时 则判断 tid 是否为1
如果为1 就解密token进行登陆
html 用循环 每1秒 获取一次数据 jquery ajax 来实现
这里会有人问 登陆于不登录 xx_qr这个表的数据会很多 超时就没用了 怎么办
解决办法 在php 加入
delete from xx_qr where time<time();
这个会把超时的数据全部删除

回复列表(2)