二维码扫描登录
实现基本原理:
手机已登录——>扫描PC端二维码——>手机确认登录——>PC端接收到登录消息也登录
PC端要做的逻辑:
- 生成一个guid,把guid储存到数据库或者redis的临时表中
- 生成一个二维码包含了guid信息
- 轮训数据库或者redis临时表的登录状态
- 一般一分钟内有效,一分钟后二维码失效,临时表中删除对应的guid信息
- 检测到登录状态改变,如果是登录成功,从临时表中读取临时的token,跳转页面带token,移动端的页面均使用临时表的token
移动端要做的逻辑:
6. 确保已存在真是的登录token
7. 打开扫一扫,去扫描PC端二维码
8. 得到了pc端二维码中的guid,并请求服务器接口得到一个临时token,跳转登录确认页面,并修改临时表对应guid那条记录的登录状态为:“已扫描”
9. 点击确认登录,把临时token传给服务器,生成一个真实的基于PC端的token,并改变状态值为:“已确认登录”