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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Tableau Desktop 10.4.2 的安装和激活

    Tableau Desktop 10.4.2 的安装和激活

    2022年3月12日
    318
  • 约定俗成的版本号命名规则是什么_2017版命名规则

    约定俗成的版本号命名规则是什么_2017版命名规则版本号的格式为`X.Y.Z[主版本号.次版本号.修订号]`,版本号递增规则如下:1.`主版本号`:一般当软件整体重写,或出现不向后兼容的改变时,`主版本号递增1,次版本清零,修订号清零`,如1.9.1->2.0.0。2.`次版本号`:一般功能更新或者增加功能时,`主版本号不变,次版本号递增1,修订号不变`。3.`修订号`:当Bug修复发布时,`主版号不变,次版本号不变,修订号递增1`。开发一个新项目时一般以`0.1.0`作为你的初始化开发版本,并在后续的每次发行时

    2022年9月11日
    0
  • redis设置过期时间后再set还用设置时间吗_java中参数传递的两种方式

    redis设置过期时间后再set还用设置时间吗_java中参数传递的两种方式redis如何设置过期时间memcached和redis的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value数据库,它的key过期策略还是和memcached有所不同的。梳理,整理如下:redis通过expire命令来设置key的过期时间。****语法:redis.expire(key,expiration)…

    2022年9月26日
    0
  • SQL server 2008 R2 图文安装教程(附资源)[通俗易懂]

    SQL server 2008 R2 图文安装教程(附资源)[通俗易懂]安装环境及资源系统环境:Windows10Enterprise64位SQL版本:sql_server_2008_r2_enterprise(网盘下载密码:xexg)NETFramework3.5:(网盘下载密码:cvbf)安装过程下载并解压sql_server_2008_r2_enterprise点击setup。若打开后…

    2022年6月23日
    40
  • sql存储过程简单例题_sql存储过程实例详解

    sql存储过程简单例题_sql存储过程实例详解1、创建存储过程P1,查询每个学生的修课门数,要求列出学生学号、姓名及修课门数。createprocP1asselectStudent.StudentID,StudentName,count(CourseID)选修门数fromStudentjoinGradeonGrade.StudentID=Student.StudentIDgroupbyStudent.StudentID,StudentNamego2、创建存储过程P2,查询学生的学号、姓名、课程名、成绩

    2022年9月1日
    3
  • c++ 容器类_下面属于容器类的是

    c++ 容器类_下面属于容器类的是C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector   连续存储结构,每个元素在内存上是连续的;   支持高效的随机访问和在尾端插入/删除操作,但其他位

    2022年9月12日
    0

发表回复

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

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