二维码扫描登录

193 阅读1分钟

二维码扫描登录

实现基本原理: 手机已登录——>扫描PC端二维码——>手机确认登录——>PC端接收到登录消息也登录

在这里插入图片描述

PC端要做的逻辑:

  1. 生成一个guid,把guid储存到数据库或者redis的临时表中
  2. 生成一个二维码包含了guid信息
  3. 轮训数据库或者redis临时表的登录状态
  4. 一般一分钟内有效,一分钟后二维码失效,临时表中删除对应的guid信息
  5. 检测到登录状态改变,如果是登录成功,从临时表中读取临时的token,跳转页面带token,移动端的页面均使用临时表的token

移动端要做的逻辑: 6. 确保已存在真是的登录token

  1. 打开扫一扫,去扫描PC端二维码
  2. 得到了pc端二维码中的guid,并请求服务器接口得到一个临时token,跳转登录确认页面,并修改临时表对应guid那条记录的登录状态为:“已扫描”
  3. 点击确认登录,把临时token传给服务器,生成一个真实的基于PC端的token,并改变状态值为:“已确认登录”