手机扫码登录原理

现象描述:目前多数的软件都提供了手机版和网页版,当在网页版登录时,只需要利用手机扫码二维码即可登录;

原理分析:

整个过程主要为以下三部分:(服务器a指浏览器对应的服务器,浏览器b指手机对应的服务器)

1、获取二维码(浏览器向服务器a请求二维码图片)

2、扫描二维码(手机扫描二维码获取到二维码的相关信息,并将信息传给服务器b)

3、登录(服务器b利用获得的信息和用户的信息去更改服务器a的数据)

注意:在整个过程中浏览器是不停地调用服务器a的,当服务器a中的信息被更改时,浏览器能快速获取。

常见的解决方案:

涉及到三个服务器:浏览器端服务器    redis服务器   手机端服务器

1、浏览器请求二维码

2、浏览器端服务器 生成一个唯一标识符(uuid),并将该uuid作为redis的键存储在redis中,并设置过期时间,生成二维码(二维码中含有该uuid的值)

3、浏览器获得二维码

此后浏览器一直携带该uuid去请求浏览器端服务器直到登录成功或者二维码过期

4、手机扫描二维码,获取到二维码中的uuid,并将该uuid传给手机端服务器

5、手机端服务器拿到uuid后调用redis接口将该uuid的值设置为用户的登录信息(因为手机端已经登录,所以可以获取到用户的信息)

6、当redis中有用户的登录信息后,浏览器请求浏览器服务器就校验为登录

 

在实际中在扫描后还需要确认登录才能真正登录。

整体概述:

  将已登录的手机端用户信息同步到浏览器端服务器上,两者之间用户标识就是生成的uuid,中间的纽带就是redis

 

posted on 2020-02-02 15:20  努力学习的菜鸡  阅读(531)  评论(0编辑  收藏  举报

导航