扫码登陆实现的理解

扫码登陆实现的理解

1、首先浏览器客户端向服务器发送请求获取二维码,然后服务器接收请求后生成一个唯一识别码,将这个唯一识别码作为key存到redis服务器,同时生成一个有效时间,若是过期后,则需要刷新重新生成二维码,同时服务器将公司的验证字符串和唯一识别码生成二维码图片,返回给浏览器。
2、浏览器拿到二维码后,会每隔一秒向服务器发送一次判断是否登陆成功的请求。这个请求会携带那个扫描出来的唯一识别码,作为当前页面的标识。
3、手机端登陆app,扫描二维码,扫描成功后会携带二维码中的公司验证字符串以及手机中的用户信息token(封装用户信息,userId)向服务器发送验证请求,服务器判断是登陆验证操作,则返回确认信息给手机端,手机端就会显示一个登陆确认的按钮,用户点击该按钮确认登陆,确认后手机端会向服务器发送一个携带用户信息及唯一识别码作为参数的请求,服务器端会将用户userid作为value值存到redis以唯一识别码为key的键值对中。存储用户id是因为手机端和浏览器端方式存储的用户信息可能不一致。
4、浏览器端访问服务器就会得到用户信息,进行登陆。

扫码登陆实现的理解