大家好,又见面了,我是你们的朋友全栈君。
去年独立负责整个公司新游戏的后台功能,时间紧任务重,而每个游戏项目都有测试/正式,因此就有俩后台地址,然后就有俩账号,还有不同的权限级别,,,一个游戏还好,但有N个游戏时候,测试同学受不了了,说这么多账号和权限,谁顶得住啊,于是,请示领导同意后,我剥离了公司框架里的管理员功能,以微服务的形式对外提供管理员服务(主要是登录,权限,统计),而微服务的好处是显而易见的,可以做很多很酷的东西,写好接口,就可以给多个游戏项目调用,比如这次的扫码登录。
先上效果图:
思路图如下:
第一步:
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:张三成功扫码登录,执行后续逻辑
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126478.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...