首页
登录 | 注册

二维码登录(一)概要设计

随着智能机的普及,在手持设备端做用户验证是一种较为高效,安全的手段,而在pc端利用已经鉴权过的手持设备扫码登录不仅方便,而且安全。

本文档旨在指导二维码登录功能的开发。

本文代码git https://github.com/xvshu/qrlogin

数据结构说明

redis节点存储数据格式为hash结构:
    key:qrlogin_年月日
    field:qrlogin_唯一标识
    value:用户id

    失效时间:2天

模块设计

整体流程如图所示:

 二维码登录(一)概要设计


生成二维码流程:

                                     二维码登录(一)概要设计

服务端:

1,获取二维码;

2,调用分布式id服务:获取唯一标识

3,唯一标识:存入redis

4,展示二维码



扫码登录流程:

                      二维码登录(一)概要设计

APP:

5,扫描二维码

6,免授权登录

服务端:

7,存储唯一标识与用户对应关系

8,定时扫描唯一标识是否对应用户

9,查询唯一标识用户对应关系

10,匹配用户成功自动登录

11,自动注册CAS


总结

二维码登录的简单设计相对来说比较容易,但是后期要考虑ddos攻击等安全问题,一般从两个方面入手:

1. 生成二维码网关
在页面上对生成二维码有严格性能要求,同一ip同一时间只允许生成3次每秒,超过此限制,返回过于频繁,自动失败。

2. 授权登录(APP)网关
在页面上对授权有严格性能要求,同一ip同一时间只允许登录1次每分钟,超过此限制,返回过于频繁,自动失败。




2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.008 s.
京ICP备10005923号