PHP扫码登录实现

去年独立负责整个公司新游戏的后台功能,时间紧任务重,而每个游戏项目都有测试/正式,因此就有俩后台地址,然后就有俩账号,还有不同的权限级别,,,一个游戏还好,但有N个游戏时候,测试同学受不了了,说这么多账号和权限,谁顶得住啊,于是,请示领导同意后,我剥离了公司框架里的管理员功能,以微服务的形式对外提供管理员服务(主要是登录,权限,统计),而微服务的好处是显而易见的,可以做很多很酷的东西,写好接口,就可以给多个游戏项目调用,比如这次的扫码登录。

先上效果图:

PHP扫码登录实现_第1张图片

思路图如下:

PHP扫码登录实现_第2张图片

第一步:

Client:喂,server吗?我这边要请求扫码登陆了,快给我一个唯一ID!!!

Server:好,我知道了,我现在就在redis里生成一个,拿着,这是代表你此次登录的唯一ID,

Client:好嘞,收到了,我现在以二维码的形式展现出来(‘http://yourhost?id=uniqid’),轮询开始

Client:Server老哥,有人扫码了么?

Server: 没呢,老弟,再等等,

.........

.........

这时,某个靓仔掏出手机扫码....(该靓仔微信浏览器里已经localStorage储存了这个靓仔的身份标识,具体是啥,自己定义即可)

扫码得到了http://yourhost?id=uniqid’,微信自然跳转到改URL,然后这个页面完成验证身份标识,然后把身份标识和uniqid一起发给Server,Server收到后,验证合法后,将redis里改uniqid的key设置为该人的身份标识;这时候,当Client再次请求时....

Client:Server老哥,有人扫码了么?

Server:我看看哈,有了有了,张三扫码了,还没过期,热着呢,拿着吧

Client:张三成功扫码登录,执行后续逻辑

你可能感兴趣的:(php,JS,php实现扫码登录)