PHP扫码登录实现「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。

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

先上效果图:

PHP扫码登录实现「建议收藏」

思路图如下:

PHP扫码登录实现「建议收藏」

第一步:

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:张三成功扫码登录,执行后续逻辑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126478.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux网络配置出现E325,linux下vi操作出现E325: ATTENTION的解决方法

    linux网络配置出现E325,linux下vi操作出现E325: ATTENTION的解决方法MyBatis,动态传入表名,字段名的解决办法转载:http://luoyu-ds.iteye.com/blog/1517607今天做项目,遇到的问题就是需求修改数据表的记录,而且字段名都不是固定的,也就是说是需要通过参数传入的,本来这也不是…JavaScript–事件模型(转)在各种浏览器中存在三种事件模型:原始事件模型(originaleventmodel),DOM2事件模型…

    2022年5月19日
    41
  • 变长数组VLA_数组的大小长度可以改变吗

    变长数组VLA_数组的大小长度可以改变吗C99标准中,支持变长数组,即方括号[]中可以用为一个变量,但是很多编译器并不能很好地支持。c++11标准中,不支持变长数组,即方括号[]中必须为常量表达式。c++标准支不支持变长数组,并不重要,因为完全可以自己实现。变长数组(VLA):即在运行时候确定数组的长度静态数组:编译时数组长度就定死了,不能对数组进行增、删、改动态数组:运行时才确定数组的长度,可以对数组进行增、删、改…

    2025年7月27日
    3
  • arping工具使用

    arping工具使用arping工具使用

    2022年5月2日
    39
  • SpringBoot2.0集成WebSocket,实现后台向前端推送信息

    SpringBoot2.0集成WebSocket,实现后台向前端推送信息什么是WebSocket?-初次接触WebSocket的人,都会问同样的问题:我们已经有了HTTP协议,为什么还需要另一个协议?它能带来什么好处?-答案很简单,因为HTTP协议有一个缺陷:***通信只能由客户端发起***,HTTP协议做不到服务器主动向客户端推送信息。https://github.com/moshowgame/spring-cloud-study/tree/master/spring-cloud-study-websocket

    2022年5月3日
    50
  • 如何零基础开始自学Python编程「建议收藏」

    如何零基础开始自学Python编程「建议收藏」转载——原作者:赛门喵链接:https://www.zhihu.com/question/29138020/answer/1411702420.明确目标我是真正零基础开始学Python的,从一

    2022年7月5日
    22
  • Android之复合按钮CompoundButton[通俗易懂]

    Android之复合按钮CompoundButton[通俗易懂]有些开发者看到这个可能会有些一头雾水,但其实CompoundButton是抽象的复合按钮,因为是抽象类,所以不能直接使用。实际开发中用的是CompoundButton类的几个派生类,主要有复选框CheckBox、单选按钮RadioButton以及开关按钮Switch,这些派生类都可以使用Compound的属性和方法。CompoundButton在布局文件中主要有如下两个属性: checked:指定按钮的勾选状态,true表示勾选,false表示未勾选。默认未勾选。 button:指定左侧

    2022年5月2日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号