面试官: 请用一分钟说下,二维码登录的工作流程

125 阅读4分钟

在这个科技高速发展的时代,我们每天都在与各种二维码打交道。从支付到登录,二维码几乎无处不在。今天,就让我们一起深入探讨一下扫码登录的神秘面纱,看看它是如何在几秒钟内完成身份验证的。

扫码登录.jpg

1. 发送生成二维码请求

首先,当你在电脑前苦苦等待登录时,你的浏览器已经默默地向服务器发送了一个生成二维码的请求。这就像是在对服务器说:“嘿,给我来个二维码,我要登录!”

2. 生成二维码ID

服务器收到请求后,会迅速生成一个独一无二的二维码ID。这个ID就像二维码的身份证,确保每个二维码都是独一无二的。

3. 返回二维码ID

服务器将这个二维码ID返回给浏览器,浏览器则根据这个ID生成一个二维码图片。这就像是服务器对浏览器说:“拿去吧,这是你的二维码身份证!”

4. 根据二维码ID显示二维码图

浏览器拿到二维码ID后,会迅速将其转换成一个二维码图片,显示在你的屏幕上。这时候,你的屏幕上就会出现一个神秘的黑白方块,等待着被扫描。

5. 定时轮询,查询二维码的扫描状态,直到登录成功

与此同时,浏览器会定时向服务器发送请求,查询二维码的扫描状态。这就像是在不停地问服务器:“嘿,有人扫了我的二维码吗?”

6. 扫描二维码,获取二维码ID

当你用手机扫描屏幕上的二维码时,手机会读取二维码中的信息,获取到二维码ID。这就像是手机对二维码说:“让我看看你的身份证!”

7. 手机端的token身份信息和二维码ID发往服务端

手机将获取到的二维码ID和自己的token身份信息一起发送到服务器。这就像是手机对服务器说:“这是我的身份证和我的token,让我登录吧!”

8. token和二维码ID绑定,并生成临时token,二维码状态改为已扫描

服务器收到手机发送的信息后,会将token和二维码ID绑定,并生成一个临时token。同时,二维码的状态也会被改为“已扫描”。这就像是服务器对二维码说:“好的,你已经被扫描了,现在你是‘已扫描’状态了!”

9. 返回临时token

服务器将生成的临时token返回给手机。这就像是服务器对手机说:“这是你的临时token,拿好了!”

10. 轮询二维码状态,改为已扫描,待确认

浏览器继续定时轮询二维码的状态,发现二维码已经变为“已扫描”,于是进入“待确认”状态。这就像是浏览器对服务器说:“好的,我知道你已经被扫描了,现在我们等待确认!”

11. 执行确认登录动作,携带临时token

当你在手机上确认登录时,手机会将临时token发送给服务器。这就像是手机对服务器说:“我确认登录了,这是我的临时token!”

12. 生成PC端的token,二维码状态改为已确认

服务器收到确认信息后,会生成一个PC端的token,并将二维码状态改为“已确认”。这就像是服务器对二维码说:“好的,你已经被确认了,现在你是‘已确认’状态了!”

13. 轮询二维码状态,改为已确认,跳转页面

浏览器继续轮询二维码的状态,发现二维码已经变为“已确认”,于是跳转到登录后的页面。这就像是浏览器对服务器说:“好的,我知道你已经被确认了,现在我们可以跳转页面了!”

14. 轮询返回PC端的token

浏览器最终会从服务器获取到PC端的token。这就像是服务器对浏览器说:“这是你的token,拿好了,你可以访问了!”

15. 凭借pc端的token访问

最后,浏览器凭借PC端的token,成功访问到登录后的页面。这就像是浏览器对服务器说:“谢谢你的token,我现在可以访问了!”

通过这15个步骤,扫码登录的神秘面纱终于被揭开。在这个过程中,科技与懒惰完美结合,让我们在几秒钟内完成身份验证,享受到了科技带来的便捷。下次当你扫描二维码登录时,不妨想一想这背后的故事,也许会有不一样的感受哦!