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

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

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

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

数据结构说明

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

    失效时间:2天

模块设计

整体流程如图所示:

 


生成二维码流程:

                                    

服务端:

1,获取二维码;

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

3,唯一标识:存入redis

扫描二维码关注公众号,回复: 1462701 查看本文章

4,展示二维码



扫码登录流程:

                     

APP:

5,扫描二维码

6,免授权登录

服务端:

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

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

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

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

11,自动注册CAS


总结

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

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

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


猜你喜欢

转载自blog.csdn.net/xvshu/article/details/80571897
今日推荐