扫码登录是怎么实现的

1.服务端生成一个url,并携带一个唯一的ID,返回到PC端

2.PC端根据URL生成一个二维码,并轮询请求服务端查询用户扫描情况

2.手机端去扫描二维码,并请求URL,并把id传到服务端

3.服务端接收到id,把id和手机端设备信息、当前用户信息做一个绑定,并修改此id对应的状态为已扫码,然后生成一个临时token返回到手机端

4.此时PC端的轮询请求会请求到二维码为已扫描状态,并在PC端页面显示

5.手机端点击确认登录按钮,携带着临时token请求服务端

6.服务端接收到确认登录并验证通过token后,生成正式token返回到PC端,则PC端成为了登录状态

PS:生成临时token的原因是让手机端和那个唯一ID保持一个联系,否则点击确定登录后,请求到服务端,就不知道确认了哪个id。那不生成临时token行不行呢?也可以扫码请求服务端后,把id再返回到手机端,手机端点击确定登录时再把id传到服务端不就知道是确认的哪个id了吗?好像也可以哦,可能使用token比较安全吧,知道为什么的同志可以在评论区说一下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值